#include <stdio.h>
#include <string.h>
#define MAXS 15
void StringCount(char s[]);
void ReadString(char s[]);
int main() {
char s[MAXS];
gets_s(s, MAXS); //scanf不能存储空格
ReadString(s);
StringCount(s);
}
void StringCount(char s[]) {
int num_letter = 0; //字母个数 ASCII:65-90&97-122
int num_blank = 0; //空格或回车个数 ASCII:32 \r
int num_digit = 0; //数字个数 ASCII:48-57
int num_other = 0; //其他字符个数
for (int i = 0; s[i] != '\0'; i++) {
if (s[i] == 32 || s[i] == 10) {
num_blank += 1;
}else if (((s[i] >= 65) && (s[i] <= 90)) || ((s[i] >= 97) && (s[i] <= 122))) {
num_letter += 1;
}
else if ((s[i] >= 48) && (s[i] <= 57)) {
num_digit += 1;
}
else {
num_other += 1;
}
}
printf("letter = %d,blamk = %d,digit = %d,other = %d",num_letter,num_blank,num_digit,num_other);
}