【问题描述】 从键盘输入任意的字符,按下列规则进行分类: (1)数字(例如:‘0’‘5’);(2)字母(例如:‘a’‘b’);(3)算术运算符(+、-、*、/、%);(4)转义字符(\n、\a、\b、\t)。但输入一个字符‘#’时,停止统计,并打印统计的结果。 【输入形式】 【输出形式】 【样例输入】 01a\b+# 【样例输出】 数字个数:2 字母个数:1 算术运算符:1 转义字符:1
时间: 2024-02-21 18:01:49 浏览: 79
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
以下是使用 C++ 语言编写的程序,实现了对输入的字符进行分类统计。
```cpp
#include <iostream>
using namespace std;
int main() {
char ch;
int digit_cnt = 0, letter_cnt = 0, operator_cnt = 0, escape_cnt = 0;
while (true) {
cin >> ch;
if (ch == '#') break;
if (isdigit(ch)) digit_cnt++;
else if (isalpha(ch)) letter_cnt++;
else if (ch == '+' || ch == '-' || ch == '*' || ch == '/' || ch == '%') operator_cnt++;
else if (ch == '\n' || ch == '\a' || ch == '\b' || ch == '\t') escape_cnt++;
}
cout << "数字个数:" << digit_cnt << endl;
cout << "字母个数:" << letter_cnt << endl;
cout << "算术运算符:" << operator_cnt << endl;
cout << "转义字符:" << escape_cnt << endl;
return 0;
}
```
程序通过 `while` 循环不断读入输入的字符,并根据字符的类型进行分类统计。当读入字符为 `#` 时,退出循环,输出统计结果。其中 `isdigit` 函数可以判断一个字符是否为数字,`isalpha` 函数可以判断一个字符是否为字母。
阅读全文