C++ 从键盘输入n个字符,请分别统计大写字母、小写字母、数字、其他字符的个数并输出;还需要输出所有数字字符之和。
时间: 2024-10-03 22:04:30 浏览: 46
在C++中,你可以使用`std::cin`从键盘接收用户输入,并通过`std::isalpha()`、`std::isupper()`、`std::isdigit()`等函数来判断字符的类型。下面是一个简单的程序示例,它会统计大写字母、小写字母、数字以及其它字符的数量,并计算所有数字字符的和:
```cpp
#include <iostream>
#include <cctype>
int main() {
int n;
std::cout << "请输入字符数量(n): ";
std::cin >> n;
char input[n];
std::cout << "请输入字符: ";
for (int i = 0; i < n; ++i) {
std::cin >> input[i];
// 统计各类字符
if (std::isupper(input[i])) {
std::cout << "大写字母: " << (++upper_case_count) << '\n';
} else if (std::islower(input[i])) {
std::cout << "小写字母: " << (++lower_case_count) << '\n';
} else if (std::isdigit(input[i])) {
std::cout << "数字: " << (++digit_count) << ', ' << input[i] << " (累加和:" << digit_sum << ')' << '\n';
digit_sum += input[i] - '0'; // 计算数字和
} else {
other_char_count++;
}
}
std::cout << "其他字符: " << other_char_count << '\n';
std::cout << "所有数字字符的和: " << digit_sum << '\n';
return 0;
}
```
在这个例子中,我们使用了`upper_case_count`, `lower_case_count`, `digit_count`, 和 `other_char_count` 来记录各类字符的数量,`digit_sum` 存储数字字符的和。注意,由于C++标准库的特性,非字母数字字符的累计和可能需要额外处理。
阅读全文