|
题目是:/*输入一行字符,分别统计出英文字母,空格,数字,其他字符的个数*/
我的代码:[code:1]/*输入一行字符,分别统计出英文字母,空格,数字,其他字符的个数*/
#include <stdio.h>
#include <math.h>
main()
{
char c;
int i=0,j=0,k=0,l=0;
while((c=getchar())!='\n')
{if(c>='A'&&c<='Z'||c>='a'&&c<='z')
{++i;printf("英文字母个数=%d\n",i);continue;}
else
if((int)c>=48&&(int)c<=57)
{++k;printf("数字个数=%d\n",k);continue;}
else if((int)c>=0&&(int)c<32||(int)c>32&&(int)c<=47||(int)c>=58&&(int)c<=64||(int)c>=91&&(int)c<=96||(int)c>=123&&(int)c<=254)
{++l;printf("其他数个数=%d\n",l);continue;}
else if((int)c=32)
{++j;printf("空格数=%d\n",j);}
else printf("error");
}
}[/code:1]
我的编译和执行结果:
[code:1][fydream@fydream yuandaima]$ ./fy
njhyugytgf 254 @#$%^&*
英文字母个数=1
英文字母个数=2
英文字母个数=3
英文字母个数=4
英文字母个数=5
英文字母个数=6
英文字母个数=7
英文字母个数=8
英文字母个数=9
英文字母个数=10
空格数=1
空格数=2
数字个数=1
数字个数=2
数字个数=3
空格数=3
其他数个数=1
其他数个数=2
其他数个数=3
其他数个数=4
其他数个数=5
其他数个数=6
其他数个数=7
[fydream@fydream yuandaima]$ ./fy
h54jfj 54##j5
英文字母个数=1
数字个数=1
数字个数=2
英文字母个数=2
英文字母个数=3
英文字母个数=4
空格数=1
数字个数=3
数字个数=4
其他数个数=1
其他数个数=2
英文字母个数=5
数字个数=5[/code:1]
这不是我想要得理想得结果,虽然最后结果正确,但是有太多没用得输出.
我想得到得理想得结果是:
[code:1]是假如我输入:
124juh @#$%
应该输出:
数字数=3
字母数=3
空格数=1
其他数=4[/code:1]
我要怎么实现呀?谢谢了!
请帮我在我的代码基础上改正,谢谢了! |
|