#include<stdio.h>
void main()
{
int letter,number,space,other;
char c;
letter=0;
number=0;
space=0;
other=0;
printf("请输入一行字符:\n");
for(;(c=getchar())!='\n';)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c>='0'||c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
}
else if(c>='0'||c<='9')这里不是||,要换成&&
有用采纳一下哈,数字那里错了
#include<stdio.h>
void main()
{
int letter,number,space,other;
char c;
letter=0;
number=0;
space=0;
other=0;
printf("请输入一行字符:\n");
for(;(c=getchar())!='\n';)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
}
把数字判断那个的||或改为&&就可以了,修改如下:
#include<stdio.h>
int main()
{
int letter,number,space,other;
char c;
letter=0;
number=0;
space=0;
other=0;
printf("请输入一行字符:\n");
for(;(c=getchar())!='\n';)
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letter++;
else if(c>='0'&&c<='9')
number++;
else if(c==' ')
space++;
else
other++;
}
printf("英文字母个数:%d;数字个数:%d;空格个数:%d;其他字符个数:%d;",letter,number,space,other);
return 0;
}