#4955. 移动数组元素--判断题
移动数组元素--判断题
在一个不重复的数组中,请将这个数组的最小数和数组第一个数交换,最大数和数组最后一个数交换!输出移动位置后的数组!如一个长度为5的数组:6 7 1 10 4,按照题目要求交换之后的顺序为:1 7 6 4 10。
阅读以下代码判断是否能正确实现程序效果?()
#include<bits/stdc++.h>
using namespace std;
int main () {
int a[110],n;
cin>>n;
for(int i=1; i<=n; i++) {
cin>>a[i];
}
int x1=1,x2=1;
for(int i=1; i<=n; i++) {
if( a[i]<a[x1] ) x1=i; //x1存储最小值的下标
if( a[i]>a[x2] ) x2=i; //x2存储最大值的下标
}
swap(a[1],a[x1]); //将最小值和第一个位置的元素交换
swap(a[n],a[x2]); //将最大值和最后一个位置的元素交换
for(int i=1; i<=n; i++) {
cout<<a[i]<<" ";
}
return 0;
}
{{ select(1) }}
- 正确
- 错误