头文件和输入的两位数估算不对哦
by Alananan @ 2024-04-20 14:33:38
@[14425aab](/user/1031931) 改成double aver=sum*1.0/n;
sum可是int 你一除小数部分就除没了
by elementia @ 2024-04-20 14:44:02
我也是(苦笑)
```cpp
#include <bits/stdc++.h>
using namespace std;
int n,l;
struct qw{
int a,b,c;
}s[1005];
int main(){
cin>>n;
for(int i=0;i<n;i++){
cin>>s[i].a;
s[i].b=i+1;
}
for(int i=0;i<n;i++){
for(int j=0;j<n-1;j++){
if(s[j].a>s[j+1].a){
swap(s[j],s[j+1]);
}
}
}
s[0].c=1;
for(int i=1;i<n;i++){
l=l+s[i-1].a*(n-i);
s[i].c=i+1;
}
for(int i=0;i<n;i++){
for(int j=0;j<n-1;j++){
if(s[j].b>s[j+1].b){
swap(s[j],s[j+1]);
}
}
}
for(int i=0;i<n;i++){
cout<<s[i].c<<" ";
}
printf("\n%.2f",l*1.00/n);
return 0;
}
```
by zhaoyingdong @ 2024-05-07 21:30:25