第一大放左边,第二大放右边
2025-12-06 11:24:41
发布于:广东
4阅读
0回复
0点赞
必须分开两次遍历比较交换,否则会错一个点。
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
double a[105],b[105];
int main(){
int n;
cin >> n;
for(int i=1;i<=n;i++){
cin >> a[i];
b[i]=a[i];
}
sort(b+1,b+n+1);
for(int i=1;i<=n;i++)
if(a[i]==b[n])
swap(a[1],a[i]);
for(int i=1;i<=n;i++)
if(a[i]==b[n-1])
swap(a[n],a[i]);
for(int i=1;i<=n;i++)
printf("%.2lf ",a[i]);
return 0;
}
这里空空如也




有帮助,赞一个