求一串字符中字母数字空格其他的个数哪里不对蟹蟹蟹蟹拜托了
提问:求一串字符中字母数字空格其他的个数哪里不对蟹蟹蟹蟹拜托了
#include
网友回答:
你的程序已经改好了,能正确进行统计了:
修改后的程序如下:
#include
int main()
{
char ch;
int m=0,t=0,y=0,z=0;
printf("请输入一串字符:");
while((ch=getchar())!='n')
{
if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
m++;
else if(ch==' ')
t++;
else if(ch>='0'&&ch<='9')
y++;
else
z++;
}
printf("英文字母的个数是:%dn空格的个数:%dn数字的个数是:%dn其他字符的个数是:%dn",m,t,y,z);
return 0;
}
你可运行验证一下。
程序问题主要是在这一句:scanf("%s",&ch);这里ch是字符变量,不是字符串,要用%c。
但是在while的循环条件中,又有字符的输入ch=getchar(),重复了,会影响正确统计。所以去掉了scanf("%s",&ch);这一句。