C语言,输入一个字符串,统计其中各个不同字符出现的频度,帮忙用指针来实现,自己一个是没思路,另一个

C语言,输入一个字符串,统计其中各个不同字符出现的频度,帮忙用指针来实现,自己一个是没思路,另一个,书上的是用数组,感觉很繁琐,请编一个清晰易懂的,谢谢

#include <stdio.h>
int main(void)
{
    char a[80], b[80],*p,*q,*r;
int c[80] = {0};
int i,j,k;
gets(a);
p = a,q=b;
*q++= *p++;
while(*p)
{
for(r = a; r<p; r++)
{
if(*p == *r)
break;
}
 if(r != p)
 {
  p++;
continue;

 }
 else
 *q++ = *p++;


}
*q = '\0';

for(i = 0; b[i]!='\0';i++)
{
     for(j = 0; a[j];j++)
 {
 if(b[i] == a[j])
 c[i]++;
 }
 
}
for(j = 0; j < i; j++)
printf("%c:%d\n",b[j],c[j]);
   




}

我写了一个,虽然可以实现,但是有点麻烦好像

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-03-20
没什么思路不思路,针对每一个字符,一个个比较就行了
另外,数组就挺简单了,用指针会把问题变得更复杂

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网