输入若干个数字,以数字0作为结尾,找到其中的最大的数字输出
时间: 2024-12-24 10:43:05 浏览: 2
要实现这个功能,你可以使用一个简单的算法,遍历输入流直到遇到0,同时记录下当前最大的数字。这里是一个C++代码示例:
```cpp
#include <iostream>
#include <vector>
int find_max(const std::vector<int>& numbers) {
int max_num = numbers[0]; // 假设第一个数为最大
for (size_t i = 1; i < numbers.size(); ++i) {
if (numbers[i] > max_num && numbers[i] != 0) { // 如果当前数大于最大且不是0
max_num = numbers[i];
}
}
return max_num;
}
int main() {
std::vector<int> input_numbers;
int num;
std::cout << "请输入一系列非零整数(以0结束):" << std::endl;
while (std::cin >> num && num != 0) { // 只要输入不为0就继续读入
input_numbers.push_back(num);
}
if (!input_numbers.empty()) { // 检查是否有输入
int max = find_max(input_numbers);
std::cout << "最大的数字是: " << max << std::endl;
} else {
std::cout << "没有输入或所有输入都是0" << std::endl;
}
return 0;
}
```
在这个程序中,我们首先创建一个空的`std::vector<int>`来存储输入的数字。然后在一个循环里,每次从标准输入读取一个数字并检查是否为0。如果不是0,则将其添加到数组中,并更新最大值。当遇到0时,跳出循环,然后调用`find_max`函数找出并打印最大的数字。
如果你有特定的输入格式或想要改进的地方,请告诉我,我可以进一步协助。
阅读全文