从键盘输入任意的字符,按下列规则进行分类: (1)数字(例如:‘0’‘5’);(2)字母(例如:‘a’‘b’);(3)算术运算符(+、-、*、/、%);(4)转义字符(\n、\a、\b、\t)。但输入一个字符‘#’时,停止统计,并打印统计的结果。C语言
时间: 2023-07-10 10:07:15 浏览: 154
可以使用`switch`语句来对输入的字符进行分类,并使用计数器变量记录每种字符出现的次数。具体实现代码如下:
```c
#include <stdio.h>
int main() {
char ch;
int cnt_digit = 0, cnt_alpha = 0, cnt_op = 0, cnt_escape = 0;
while ((ch = getchar()) != '#') { // 读入字符,直到输入 #
switch (ch) {
case '0': case '1': case '2': case '3': case '4':
case '5': case '6': case '7': case '8': case '9':
cnt_digit++;
break;
case 'a': case 'b': case 'c': case 'd': case 'e': case 'f':
case 'g': case 'h': case 'i': case 'j': case 'k': case 'l':
case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
case 's': case 't': case 'u': case 'v': case 'w': case 'x':
case 'y': case 'z': case 'A': case 'B': case 'C': case 'D':
case 'E': case 'F': case 'G': case 'H': case 'I': case 'J':
case 'K': case 'L': case 'M': case 'N': case 'O': case 'P':
case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V':
case 'W': case 'X': case 'Y': case 'Z':
cnt_alpha++;
break;
case '+': case '-': case '*': case '/': case '%':
cnt_op++;
break;
case '\n': case '\a': case '\b': case '\t':
cnt_escape++;
break;
default:
break;
}
}
// 打印统计结果
printf("数字:%d个,字母:%d个,算术运算符:%d个,转义字符:%d个\n", cnt_digit, cnt_alpha, cnt_op, cnt_escape);
return 0;
}
```
阅读全文