输入一个字符串,统计其中有多少个不同的字符

这是运行结果最后统计不同的数出现错误不知道怎么回事应该怎么判断两个字符是否相等麻烦写上注释谢谢啦... 这是运行结果 最后统计不同的数出现错误不知道怎么回事应该怎么判断两个字符是否相等 麻烦写上注释谢谢啦 展开
 我来答
czy7812
2018-11-11 · TA获得超过2670个赞
知道小有建树答主
回答量:518
采纳率:88%
帮助的人:188万
展开全部

想找出有多少个不同的字符,需要把串中的字符逐个拿出来和它之前出现过的字符进行比较。比如有一个串:12345678。那就应该先拿出1,看看之前有没有出现过,如果没有,计数器+1,如果有,跳过;然后重复上述的步骤,拿出2,和之前的字符比较,看看有没有出现过,如果没有,计数器+1,如果有,跳过;以此类推。而不是简单的只做一次比较。程序代码如下,以供参考:

int main()                            //主函数
{int i,j,                             //循环变量
     l=-1,n=0;                        //l是字符串长度,n是不同字符的数量
 char s[100];                         //用于存放字符串的数组
 gets(s);                             //接收一个字符串
 while(s[++l]);                       //算出字符串的长度
 for(i=0;i<l;i++)                     //一个字符一字符查看比较
    {for(j=0;j<i;j++)                 //每个字符都和之前的字符比较有没有重复
         if(s[i]==s[j]) break;        //如果有重复就结束比较
     if(i==j) n++;}                   //如果比较结束都没找到一样的,计数+1
 printf("该串中有%d个不同字符\n",n);  //显示统计结果 
 system("PAUSE");                     //暂停
 return 0;}                           //结束

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式