c语言题目求解

2025-03-24 13:29:24
推荐回答(2个)
回答(1):

#include
int fun(char *s)
{int a,b;
 for(a=b=0;s[a];a++)
   if(s[a]=='1')b++;
 return a*10000+b;
}
int main()
{char s1[200],s2[200];
 int k;
 scanf("%s%s",s1,s2);
 k=fun(s1)-fun(s2);
 if(k>0)printf("%s > %s\n",s1,s2);
   else if(k<0)printf("%s < %s\n",s1,s2);
     else printf("%s = %s\n",s1,s2);
 return 0;
}

回答(2):

// 关键比较 只要计算0值
string a, string b; 
if(a.length != b.length){
    return a.length - b.length; // 长度长的比较大
}
else {
    int a_0 = getZeroCountFromString(a); // 获取a中0个数
    int b_0 = getZeroCountFromString(b); // 获取b中0个数
    return  b_0 - a_0; // 零多的比较小
}