题要求编写程序,输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
10
aZ &
09 Az
结尾无空行
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
# include <stdio.h>`
int main()
{
int blank, digit, i, other,n,letter;
char ch;
scanf("%d",&n);
blank = digit = other = letter=0;
for(i = 0; i <= n; i++){
scanf("%c",&ch);
switch (ch)
{
case ' ': case '\n':
blank++;break;
case '0':case '1':case '2':case '3':case '4':
case '5':case '6':case '7':case '8':case '9':
digit++;break;
case 'a':case 'b':case 'c':case 'd':case 'e':
case 'f':case 'g':case 'h':case 'i':case 'j':
case 'o':case 'n':case 'm':case 'l':case 'k':
case 'p':case 'q':case 'r':case 's':case 't':
case 'u':case 'v':case 'w':case 'x':case 'y':
case 'D':case 'C':case 'B':case 'A':case 'z':
case 'E':case 'F':case 'G':case 'H':case 'I':
case 'N':case 'M':case 'L':case 'K':case 'J':
case 'O':case 'P':case 'Q':case 'R':case 'S':
case 'X':case 'W':case 'V':case 'U':case 'T':
case 'Z':case 'Y':
letter++;break;
default:other++;break;
}
}
blank=blank-1;
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank, digit, other);
return 0;
}