C++用数组读取并存储键盘输入的三组字符,统计其中的大写,小写字母数,空格数,数字数及其他字符数
时间: 2024-04-30 07:19:41 浏览: 44
可以使用C++的字符数组和循环语句来实现读取并存储键盘输入的三组字符,并统计各类字符数。以下是一个示例代码:
```c++
#include <iostream>
using namespace std;
int main() {
const int SIZE = 100; // 假设输入的字符数不超过 100
char input[SIZE]; // 定义字符数组存储输入的字符
int upper = 0, lower = 0, space = 0, digit = 0, other = 0; // 统计各类字符数的变量
// 读取并存储第一组字符
cout << "请输入第一组字符:";
cin.getline(input, SIZE);
// 统计各类字符数
for (int i = 0; input[i] != '\0'; i++) {
if (isupper(input[i])) // 判断是否为大写字母
upper++;
else if (islower(input[i])) // 判断是否为小写字母
lower++;
else if (isspace(input[i])) // 判断是否为空格
space++;
else if (isdigit(input[i])) // 判断是否为数字
digit++;
else // 其他字符
other++;
}
// 输出各类字符数
cout << "第一组字符中共有 " << upper << " 个大写字母," << lower << " 个小写字母,"
<< space << " 个空格," << digit << " 个数字," << other << " 个其他字符。" << endl;
// 读取并存储第二组字符
cout << "请输入第二组字符:";
cin.getline(input, SIZE);
// 统计各类字符数
upper = lower = space = digit = other = 0; // 重置各类字符数计数器
for (int i = 0; input[i] != '\0'; i++) {
if (isupper(input[i]))
upper++;
else if (islower(input[i]))
lower++;
else if (isspace(input[i]))
space++;
else if (isdigit(input[i]))
digit++;
else
other++;
}
// 输出各类字符数
cout << "第二组字符中共有 " << upper << " 个大写字母," << lower << " 个小写字母,"
<< space << " 个空格," << digit << " 个数字," << other << " 个其他字符。" << endl;
// 读取并存储第三组字符
cout << "请输入第三组字符:";
cin.getline(input, SIZE);
// 统计各类字符数
upper = lower = space = digit = other = 0; // 重置各类字符数计数器
for (int i = 0; input[i] != '\0'; i++) {
if (isupper(input[i]))
upper++;
else if (islower(input[i]))
lower++;
else if (isspace(input[i]))
space++;
else if (isdigit(input[i]))
digit++;
else
other++;
}
// 输出各类字符数
cout << "第三组字符中共有 " << upper << " 个大写字母," << lower << " 个小写字母,"
<< space << " 个空格," << digit << " 个数字," << other << " 个其他字符。" << endl;
return 0;
}
```
在代码中,使用了C++的`isupper`、`islower`、`isspace`和`isdigit`等函数来判断字符的类型。其中,`isupper`函数判断字符是否为大写字母,`islower`函数判断字符是否为小写字母,`isspace`函数判断字符是否为空格,`isdigit`函数判断字符是否为数字。如果以上函数判断为真,则对应类型的计数器加1。最后,输出各类字符数。
阅读全文