这道题要求输入一行文字,最多80个字符,统计其中英文大写字母,小写字母,数字,空格以及其他字符的个数。要求在主函数中输入一行文字,并输出其中各种字符的个数;在count函数中统计英文大写字母,小写字母,数字,空格以及其他字符的个数,并返回结果。用c加加实现
时间: 2024-01-11 14:04:41 浏览: 84
可以使用 `getline` 函数读入一行文字,并通过循环遍历每个字符,统计不同类型字符的数量。代码如下:
```c++
#include <iostream>
using namespace std;
void count(string line, int &upper, int &lower, int &digit, int &space, int &others) {
for (int i = 0; i < line.length(); i++) {
char c = line[i];
if (c >= 'A' && c <= 'Z') { // 英文大写字母
upper++;
} else if (c >= 'a' && c <= 'z') { // 英文小写字母
lower++;
} else if (c >= '0' && c <= '9') { // 数字
digit++;
} else if (c == ' ') { // 空格
space++;
} else { // 其他字符
others++;
}
}
}
int main() {
string line;
cout << "请输入一行文字(最多80个字符):";
getline(cin, line);
int upper = 0, lower = 0, digit = 0, space = 0, others = 0;
count(line, upper, lower, digit, space, others);
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
cout << "空格个数:" << space << endl;
cout << "其他字符个数:" << others << endl;
return 0;
}
```
在 `count` 函数中,通过循环遍历每个字符,判断它属于哪一类,然后对应类型的计数器加1。在 `main` 函数中,首先读入一行文字,然后调用 `count` 函数统计各个类型字符的数量,最后输出结果。
阅读全文