C++程序,从键盘持续输入整形数据,直至输入crtl+z,停止输入数据,输出所输入所有数据的平均值
时间: 2024-09-28 19:04:15 浏览: 34
在C++中,你可以使用`cin`来从标准输入获取用户的数据,并通过一个循环结构来持续接收直到遇到Ctrl+Z信号(通常在Unix/Linux系统上)。Ctrl+Z会被解释为一个特殊的终止字符,如`eof()`可以检测到这个情况。以下是实现此功能的一个基本示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers;
char input;
// 循环读取整数,直到遇到Ctrl+Z
while (true) {
std::cout << "请输入一个整数(输入crtl+z结束):" << std::flush;
if (!(std::cin >> input)) { // 如果输入不是数字或者达到EOF
break; // 结束输入
}
if (input == '\032') { // Ctrl+Z 的ASCII码
break; // 也表示输入结束
}
numbers.push_back(input - '0'); // 将字符转换成整数并添加到数组中
}
// 计算平均值
if (!numbers.empty()) {
int sum = 0;
for (int num : numbers) {
sum += num;
}
double average = static_cast<double>(sum) / numbers.size();
std::cout << "输入数值的平均值是: " << average << std::endl;
} else {
std::cout << "未收到任何输入" << std::endl;
}
return 0;
}
```
阅读全文