思路
1、可以用一个数组把序号记录下来,在冒泡排序交换的时候,把记录序号的对应数组元素也同时交换。
2、用另一个数组储存相同的数据,以这个数组做对照,输出序号。
(下面代码采用的是第一种)
#include<iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;
int t[10004];
int x[10004];
int main()
{
double n;
cin>>n;
double sum=0;
for(int i=1;i<=n;i++)
{
cin>>t[i];
x[i]=i;
}
for(int i=1;i<n;i++)
{
for(int j=i+1;j<=n;j++)
{
if(t[i]>t[j])
{
swap(t[i],t[j]);
swap(x[i],x[j]);
}
}
}//交换模板
for(int i=1;i<=n;i++)
{
cout<<x[i]<<" ";
}
cout<<endl;
int p=1;
int d=n;
while(n--)
{
sum+=t[p]*n;
p++;
}
cout<<fixed<<setprecision(2)<<sum/d<<endl;
return 0;
}