c语言题目求解 20

c语言题目求解题目输入n个由'0'和‘1'组成的字字符串n由用户输入规定字符串比较规则如下:1字符串长的比较大2字符串等长的含0多的小3字符串等长且含1相等则两字符串相等... c语言题目求解题目 输入n个由'0'和‘1'组成的字字符串 n由用户输入 规定字符串 比较规则如下:
1 字符串长的比较大
2 字符串等长的含0多的小
3字符串等长 且含1相等 则两字符串相等
将输入的n个字符串按照上述规则升序排列
做好可以发我邮箱762615040@qq.com 可以加悬赏?
展开
 我来答
听不清啊
高粉答主

2018-02-27 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>
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;
}
renshijie1018
2018-02-27 · TA获得超过1006个赞
知道小有建树答主
回答量:1063
采纳率:94%
帮助的人:947万
展开全部
// 关键比较 只要计算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; // 零多的比较小
}
    
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式