输入一个字符串,统计其中有多少个不同的字符
这是运行结果最后统计不同的数出现错误不知道怎么回事应该怎么判断两个字符是否相等麻烦写上注释谢谢啦...
这是运行结果 最后统计不同的数出现错误不知道怎么回事应该怎么判断两个字符是否相等 麻烦写上注释谢谢啦
展开
1个回答
展开全部
想找出有多少个不同的字符,需要把串中的字符逐个拿出来和它之前出现过的字符进行比较。比如有一个串: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;} //结束
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |