| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 874 人关注过本帖
标题:帮忙看一下
只看楼主 加入收藏
我是鱼
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-17
收藏
 问题点数:0 回复次数:12 
帮忙看一下
统计字符串中每个数字出现的次数:

#define M 100
#define N 10
#include <stdio.h>
main()
{ char a[M];
int b[N]={0,0,0,0,0,0,0,0,0,0};
int i=0;
while(getchar(a[i])!='\0')
{if(a[i]=='0')b[0]++;
else if(a[i]=='1')b[1]++;
else if(a[i]=='2')b[2]++;
else if(a[i]=='3')b[3]++;
else if(a[i]=='4')b[4]++;
else if(a[i]=='5')b[5]++;
else if(a[i]=='6')b[6]++;
else if(a[i]=='7')b[7]++;
else if(a[i]=='8')b[8]++;
else if(a[i]=='9')b[9]++;
i++;
}
for(i=0;i<N;i++)printf("%d\n",b[i]);
}
各位高手帮下忙,谢谢了!
搜索更多相关主题的帖子: 统计 include 字符串 
2007-01-14 20:26
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
while((a[i]=getchar())!='\0') /*这里错了,应为a[i]=getchar(),而你写的是getchar(a[i])*/

[此贴子已经被作者于2007-1-14 20:52:40编辑过]



My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-14 20:33
slong
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-11-9
收藏
得分:0 

#define M 100
#define N 10
#include <stdio.h>
int main(void)
{
char a[M];
int b[N]={0,0,0,0,0,0,0,0,0,0};
int i=0;
while((a[i]=getchar())!='\0')
{
switch(a[i])
{
case '0':b[0]++;break;
case '1':b[1]++;break;
case '2':b[2]++;break;
case '3':b[3]++;break;
case '4':b[4]++;break;
case '5':b[5]++;break;
case '6':b[6]++;break;
case '7':b[7]++;break;
case '8':b[8]++;break;
case '9':b[9]++;break;
}
i++;
}
for(i=0;i<N;i++)printf("%d\n",b[i]);
}

用switch比较好看.....if太麻烦了

[此贴子已经被作者于2007-1-14 20:43:05编辑过]

2007-01-14 20:41
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

while((a[i]=getchar())!='\n') 这样比较好,getchar()针对字符,不是字符串,所以用'\n'


由于工作,N久都没来了!
2007-01-14 20:50
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
楼上2位都错了,while((a[i]=getchar())!='\0')注意括号,你们可以试试,如果用你们的方法会出现结果都为0.
因为先算右边,再算左边

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-14 20:55
我是鱼
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-17
收藏
得分:0 

谢谢啊!
结果好象不对啊???

2007-01-14 20:58
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:0 
哪里错了,把出现的问题发上来

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2007-01-14 20:59
我是鱼
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-12-17
收藏
得分:0 
结果全都是0啊!
2007-01-14 21:09
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

#define M 100
#define N 10
#include <stdio.h>
int main(void)
{
int b[N]={0},j;
char i=0;
while((i=getchar())!='\n')
{
switch(i)
{
case '0':b[0]++;break;
case '1':b[1]++;break;
case '2':b[2]++;break;
case '3':b[3]++;break;
case '4':b[4]++;break;
case '5':b[5]++;break;
case '6':b[6]++;break;
case '7':b[7]++;break;
case '8':b[8]++;break;
case '9':b[9]++;break;
default :i='\n';break;
}
}

for(j=0;j<=9;j++)

printf("character:%d display:%d times\n",j,b[j]);

return 0;
}

LZ是否是这个意思????


由于工作,N久都没来了!
2007-01-14 21:26
zouchao
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2006-12-14
收藏
得分:0 

晕!
感觉都没错~
怎么运行出来就错了~
怎么回事啊~
高手指点一下

2007-01-21 04:52
快速回复:帮忙看一下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028102 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved