|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
题目:编写一个用来统计输入的各个数字,空白符(空格,制表符,换行符),以及所有其他字符出现的次数的程序,要求用函数编写。
改了几次都是错的。。实在是找不出来原因了,求大家指导一下。- #include <stdio.h>
- int main()
- {
- int num[10]={0};
- int blank(int x);
- int others(int y);
- int i,c,a=0,b=0;
- int Q=0,W=0,E=0,R=0,T=0,Y=0,U=0,I=0,O=0,P=0;
- //定义所有变量;
- printf("Please input a string:\n");
- //计算0~9出现的频率,并将其分别赋值给数组num;
- while(c=getchar()!='\n')
- {
- if(c=='0') Q++;
- if(c=='1') W++;
- if(c=='2') E++;
- if(c=='3') R++;
- if(c=='4') T++;
- if(c=='5') Y++;
- if(c=='6') U++;
- if(c=='7') I++;
- if(c=='8') O++;
- if(c=='9') P++;
- num[0]=Q;
- num[1]=W;
- num[2]=E;
- num[3]=R;
- num[4]=T;
- num[5]=Y;
- num[6]=U;
- num[7]=I;
- num[8]=O;
- num[9]=P;
- }
- //输出各类字符的个数;
- for(i=0;i<=9;i++)
- {
- printf("%d的个数为%d\n",i,num[i]);
- }
- printf("空白符的个数为%d\n",blank(a));
- printf("其他字符的个数为%d\n",others(b));
-
- return 0;
- }
- //输出空白符的个数的函数;
- int blank(int x)
- {
- int c,A=0,S=0,sum=0;
- while(c=getchar()!='\n')
- {
- if(c==' ') A++;
- if(c==9) S++;
- }
- sum=A+S;
- return sum;
- }
- //输出其他字符的个数的函数;
- int others(int y)
- {
- int c,m;
- while(c=getchar()!='\n')
- {
- if(c!='0'&&c!='1'&&c!='2'&&c!='3'&&c!='4'&&c!='5'&&c!='6'&&c!='7'&&c!='8'&&c!='9'&&c!=' '&&c!=9)
- m++;
- }
- return m;
- }
复制代码
以下是我运行的结果: |
-
|