思路
用数组存储,利用gets读入字符串,字母,数字,空格可以用ASCII码判断,也可以用单个字符来判断。这个题主要理解gets和scanf %s的区别。
代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
char arr[99]={0};
int i = 0, a = 0, b = 0, c = 0, d = 0;
printf(“请输入字符串:”);
gets_s(arr);
while(arr[i]!=NULL)
{
if ((arr[i] >= 65 && arr[i] <= 90) || (arr[i] >= 97 && arr[i] <= 122))
a++;
else if (arr[i] >= 48 && arr[i] <= 57)
b++;
else if (arr[i] == ’ ')
c++;
else
d++;
i++;
}
printf("%d %d %d %d\n", a,b,c,d);
system(“pause”);
return 0;
}