从键盘任意输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数

RT:
我是这样写的:

#include<stdio.h>
void main()
{
char m;
int n,a=0,b=0,c=0,d=0;
do
{
m=getchar();
n=m;
if(( n>=65 && n<=90) || (n>=97 && n<=122)) a++;
else if(n=4) b++;
else if(n>=48 && n<=57) c++;
else d++;
if(m=='\n') break;
}while(1);
printf("\n英文字母有%d个",a);
printf("\n空格有%d个",b);
printf("\n数字有%d个",c);
printf("\n其他字符有%2d个",d);
getch();
}
但是运行时除了字母能正常统计其他就都是加在空格那了……还有回车也算了一个空格,郁闷啊

#include<stdio.h>
#include<conio.h>
void main()
{
char m;
int n,a=0,b=0,c=0,d=0;
do
{
m=getchar();
n=m;
if(( n>=65 && n<=90) || (n>=97 && n<=122)) a++;
else if(n==4) b++;//两个等号
else if(n>=48 && n<=57) c++;
else d++;
if(m=='\n') break;
}while(1);
printf("\n英文字母有%d个",a);
printf("\n空格有%d个",b);
printf("\n数字有%d个",c);
printf("\n其他字符有%2d个",d);
getch();
}
温馨提示:答案为网友推荐,仅供参考
相似回答