用C++编程 输入 n 个正整数,输出这 n 个数中第二大的数。
时间: 2024-02-20 08:00:58 浏览: 157
c++输入数组并输出第二大值
好的,这是一个经典的编程题目,以下是对应的C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int max1 = -1, max2 = -1; // 初始值设为-1,防止出现0或负数的情况
for (int i = 0; i < n; i++) {
int num;
cin >> num;
if (num > max1) {
max2 = max1;
max1 = num;
} else if (num > max2 && num != max1) {
max2 = num;
}
}
cout << max2 << endl;
return 0;
}
```
以上代码中,我们使用了两个变量 `max1` 和 `max2` 来记录输入数字中的最大值和第二大值,遍历输入数字时,如果当前数字比 `max1` 大,则将 `max1` 更新为该数字,同时将 `max2` 更新为原来的 `max1`;如果当前数字比 `max2` 大,且不等于 `max1`,则将 `max2` 更新为该数字。最终输出 `max2` 即为第二大数字。
阅读全文