苹果妹妹爱学习 发表于 2020-7-23 10:21:03

求助一下

#include<stdio.h>
int main()
{
char ch;
int zm=0,kg=0,sz=0,qt=0;
printf("请输入一行字符:\n");
scanf("%c",&ch);

while ((ch=getchar())!='\n')
{
if(ch >='a'&& ch<='z' || ch >= 'A'&&ch <= 'Z')
{
zm++;
}
else if(ch ==' ')
{
kg++;
}
else if(ch>='0'&&ch<='9')
{
sz++;
}
else
{
qt++;
}
}
printf("字母数为%d\n空格数为%d\n数字数为%d\n其他字符数为%d\n",zm,kg,sz,qt);


}
为什么字符统计不对

sunrise085 发表于 2020-7-23 10:28:15

因为你没有把第一个字符统计进去,while循环钱的scanf是要干嘛!!偷吃一个字符,统计结果肯定不对啊
把那一行去掉就对了

苹果妹妹爱学习 发表于 2020-7-23 10:33:08

sunrise085 发表于 2020-7-23 10:28
因为你没有把第一个字符统计进去,while循环钱的scanf是要干嘛!!偷吃一个字符,统计结果肯定不对啊
把那 ...

哦哦哦哦哦好的
页: [1]
查看完整版本: 求助一下