Code
#include <stdio.h>
#include <ctype.h>
int main()
{
char s[100000];
while(gets(s))
{
int alpha_sum = 0,num_sum = 0,space_sum = 0,other_sum = 0,i = 0;
while(s[i] != '\0')
{
if(isalpha(s[i]))
alpha_sum++;
else if(isdigit(s[i]))
num_sum++;
else if(s[i] == ' ')
space_sum++;
else
other_sum++;
i++;
}
printf("%d %d %d %d\n",alpha_sum,num_sum,space_sum,other_sum);
}
return 0;
}
反思:字符串练习,isalpha()求字母次数,isdigt()求数字次数,再分别求空格次数和其他次数即可。