#4938. 一维数组--判断题
一维数组--判断题
以下C++代码的功能是:输入一个整数n(n≤10),然后输入n个整数存入数组a。程序会找到数组中的最大值和最小值,并交换它们的位置(若有多个相同的最值,只交换第一次出现的)。交换后,输出新数组。请判断代码是否正确?
#include <iostream>
using namespace std;
int main() {
int n, a[11];
cin >> n;
for (int i = 0; i < n; i++) cin >> a[i];
int max_pos = 0, min_pos = 0;//最大值,最小值位置
for (int i = 1; i < n; i++) {
if (a[i] > a[max_pos]) max_pos = i;
if (a[i] < a[min_pos]) min_pos = i;
}
swap(a[max_pos], a[min_pos]);
for (int i = 0; i < n; i++) cout << a[i] << " ";
return 0;
}
{{ select(1) }}
- 正确
- 错误