Problem H: 求个最大值 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 2838 Solved: 2340 [Submit][Status] Description 定义MaxValue类,用于求一系列非零整数的最大值。其中: 1. 数据成员elements用于存储所有输入的非零整数。 2. void append(int)用于向elements中添加一个新数据。 3. int getMax()用于求出elements中的最大值。 Input 输入若干个整数,以输入0表示输入结束。 Output 所有输入的非零整数中的最大值。 Sample Input 321 496 553 338 837 463 158 154 929 537 0 Sample Output 929 HINT 使用vector更为容易实现。
时间: 2024-03-22 20:37:26 浏览: 289
以下是该问题的C++解决方案,使用vector实现:
```c++
#include <iostream>
#include <vector>
using namespace std;
class MaxValue {
public:
void append(int num) {
elements.push_back(num);
}
int getMax() {
int max_val = elements[0];
for(int i = 1; i < elements.size(); i++) {
if(elements[i] > max_val) {
max_val = elements[i];
}
}
return max_val;
}
private:
vector<int> elements;
};
int main() {
MaxValue maxval;
int num;
cin >> num;
while(num != 0) {
maxval.append(num);
cin >> num;
}
cout << maxval.getMax() << endl;
return 0;
}
```
该程序中,我们创建了一个名为MaxValue的类,其中包含了一个vector类型的数据成员elements,用于存储输入的非零整数。类中的append方法用于向elements中添加新数据,getMax方法用于求出elements中的最大值。在主函数中,我们创建了一个MaxValue类型的对象maxval,并通过while循环不断输入非零整数并添加到maxval对象的elements中。最终输出elements中的最大值即可。
阅读全文