C++输入一行,若干个字符,包含大写字母,小写字母和数字字符,最后以’#'结尾,输出所有出现的数字的平均值。例如输入"123we456ER908#",出现的数字包括123,456,908,则数字的平均值为(123+456+908)/3,平均值结果只保留整数部分
时间: 2024-09-22 15:06:31 浏览: 45
在C++中,你可以使用`cin`来获取用户输入的一行字符串,然后通过遍历这个字符串,找出所有的数字并计算它们的总和。接下来,你需要统计数字的数量,最后除以总数得到平均值。这里是一个简单的示例代码:
```cpp
#include <iostream>
#include <cctype> // 需要用到ctype_h库来进行字符分类
int main() {
std::string input;
double total = 0.0, count = 0;
// 输入一行字符串
std::cout << "请输入一行字符(以'#'结尾):" << std::endl;
getline(std::cin, input);
// 检查每个字符是否为数字,并累加和计数
for (char c : input) {
if (isdigit(c)) { // isdigit函数检查字符是否为数字
total += static_cast<int>(c); // 将字符转换为整数并累加
count++;
}
}
// 计算并输出平均值(只保留整数部分)
double average = total / count;
int integer_average = static_cast<int>(average); // 使用static_cast强制转换为整型
std::cout << "数字的平均值是: " << integer_average << std::endl;
return 0;
}
```
阅读全文