某大学开田径运动会,现有12名选手参加100米比赛,对应的运动员号及成绩如表所示,请按照成绩排名并输出,要求每一行输出名次、运动员号及成绩。
运动员号 成绩(秒)
001 13.6
031 14.9
002 14.8
036 12.6
010 12.0
037 13.4
011 12.7
102 12.5
023 15.6
325 15.3
025 13.4
438 12.7
#include<iostream>
using namespace std;
struct a
{
int number;
double score;
}
;
int main()
{
a a[12];
int i,n;
a[0]={1,13.6};
a[1]={2,14.8};
a[2]={10,12.0};
a[3]={11,12.7};
a[4]={23,15.6};
a[5]={25,13.4};
a[6]={31,14.9};
a[7]={36,12.6};
a[8]={37,13.4};
a[9]={102,12.5};
a[10]={325,15.3};
a[11]={438,12.7};
for(i=0;i<11;i++)
{
for(n=0;n<11-i;n++)
{
if(a[n].score>a[n+1].score)
{
double x=a[n].score;
a[n].score=a[n+1].score;
a[n+1].score=x;
int y=a[n].number;
a[n].number=a[n+1].number;
a[n+1].number=y;
}
}
}
n=1;
for(i=0;i<12;i++)
{
cout<<"第"<<n<<"名:"<<"\t"<<"运动员号:"<<a[i].number<<"\t"<<"成绩:"<<a[i].score<<endl;
n++;
}
return 0;
}