统计各类字符数量为什么结果全统计到num里面了?
本帖最后由 Omega. 于 2020-11-25 23:04 编辑#include<stdio.h>
int main()
{
int ch=0,space=0,num=0,n=0;
char c;
while(c=getchar()!='\n')
{
if((c>='a')&&(c<='z')||(c>='A'&&c<='Z'))
ch=ch+1;
else if(c>=0&&c<=9)
num=num+1;
else if(c==' ')
space=space+1;
else
n=n+1;
}
printf("character:%d\nnumber:%d\nspace:%d\nnone:%d\n",ch,num,space,n);
printf("\n");
return 0;
}
这一句
else if(c>=0&&c<=9)
得改成下面这样
else if(c>='0'&&c<='9')
jackz007 发表于 2020-11-25 22:31
这一句
得改成下面这样
结果又全到n里面了。 错误在注释中了
#include<stdio.h>
int main()
{
int ch = 0, space = 0, num = 0, n = 0;
char c;
while ((c = getchar()) != '\n')// 是 c 接收到的字符不为回车键,而不是 getchar() 不为回车键,所以要加括号
{
if ((c >= 'a') && (c <= 'z') || (c >= 'A'&&c <= 'Z'))
ch = ch + 1;
else if (c >= '0' && c <= '9') // 数字也是字符,要加单引号
num = num + 1;
else if (c == ' ')
space = space + 1;
else
n = n + 1;
}
printf("character:%d\nnumber:%d\nspace:%d\nnone:%d\n", ch, num, space, n);
printf("\n");
return 0;
} 风过无痕1989 发表于 2020-11-25 23:04
错误在注释中了
好了 Omega. 发表于 2020-11-25 23:09
好了
{:5_95:}
页:
[1]