#include<stdio.h>
void main()
{
int a=0,b=0,c=0,d=0;
char ch;
ch=getchar();
for(;ch<'\n';ch=getchar())
{
if('A'<=ch&&ch<='z')
a++;
else if('0'<=ch&&ch<='9')
b++;
else if(ch==' ')
c++;
else
d++;
}
printf("英文字母:%d ,数字:%d,空格:%d,其他: %d",a,b,c,d);
return ;
}
我在你的代码基础上做了修改,并且调试完成。
#include<stdio.h>
#include<string.h> //字符串处理
void main() {
int a = 0, b = 0, c = 0, d = 0;
char str[100];
printf("请输入字符串:");
gets(str);
int i=0,length;
//获取字符串长度
length = strlen(str);
char ch;
for( i=0; i<length; i++){
ch = str[i];
if (('A' <= ch && ch <= 'Z') || ('a' <= ch && ch <= 'z'))
a++;
else if ('0' <= ch && ch <= '9')
b++;
else if (ch == ' ')
c++;
else
d++;
}
printf("英文字母:%d ,数字:%d,空格:%d,其他: %d \n", a, b, c, d);
return;
}