从键盘输入一行英文文字,不超过80个字符,分别统计出其中英文大写字母、小写字母、数字、空格、及其它字符的个数。 (利用字符数组下标访问数组中每个字符)。
时间: 2023-07-10 15:23:31 浏览: 80
好的,这是一个比较基础的编程问题。以下是一个 C++ 的实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[81];
int upper = 0, lower = 0, digit = 0, space = 0, other = 0;
// 定义字符数组和统计变量
cout << "请输入一行英文文字(不超过80个字符):" << endl;
cin.getline(str, 81);
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
upper++;
} else if (str[i] >= 'a' && str[i] <= 'z') {
lower++;
} else if (str[i] >= '0' && str[i] <= '9') {
digit++;
} else if (str[i] == ' ') {
space++;
} else {
other++;
}
}
cout << "大写字母个数:" << upper << endl;
cout << "小写字母个数:" << lower << endl;
cout << "数字个数:" << digit << endl;
cout << "空格个数:" << space << endl;
cout << "其它字符个数:" << other << endl;
return 0;
}
```
这段代码使用了一个字符数组 `str` 存储输入的文字,同时定义了统计变量 `upper`、`lower`、`digit`、`space` 和 `other` 分别表示大写字母、小写字母、数字、空格和其它字符的个数。
接着使用 `cin.getline()` 函数从标准输入中读取一行文字,并使用 `strlen()` 函数计算出这个字符串的长度。
然后使用一个 `for` 循环遍历字符串中的每一个字符,根据 ASCII 码判断它是大写字母、小写字母、数字、空格还是其它字符,最后更新对应的统计变量。
最后输出各个统计结果即可。
阅读全文