输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
#include<stdio.h>
int main()
{
char x;
int a,b,c,d; //x为输入的,a为英文字母数,b为数字数,c为空格数,d为其他字符数
a=0;b=0;c=0;d=0;
for(;(x=getchar())!='\n';)
{
if((x>='A'&&x<='Z')||(x>='a'&&x<='z'))
a=a+1;
else if (x>='0'&&x<='9')
b=b+1;
else if(x==32)
c=c+1;
else
d=d+1;
}
printf("%d\n%d\n%d\n%d",a,b,c,d);
#include<stdio.h>
int main()
{
char x;
int a,b,c,d; //x为输入的,a为英文字母数,b为数字数,c为空格数,d为其他字符数
a=0;b=0;c=0;d=0;
for(;(x=getchar())!='\n';)
{
if((x>='A'&&x<='Z')||(x>='a'&&x<='z'))
a=a+1;
else if (x>='0'&&x<='9')
b=b+1;
else if(x==32)
c=c+1;
else
d=d+1;
}
printf("%d\n%d\n%d\n%d",a,b,c,d);
}
1)要注意“{}”的位置,如果' }'在最后一句后,则前边abcd的结果会一直重复输出,得到错误的结果。。。
1)要注意“{}”的位置,如果' }'在最后一句后,则前边abcd的结果会一直重复输出,得到错误的结果。。。
2)注意< >的输入,细心点,别输错了
3)在else if(x==32)里,要注意'='与'==','='是赋值,在这里是判断,所以用'=='