6-12 运动成绩排名
分数 10
全屏浏览
切换布局
作者 范鹏程
单位 内蒙古师范大学
某大学开田径运动会,现有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>
#include <iomanip>
#include <string>
using namespace std;
class Sport
{public: Sport() { }Sport(string n,double g){num=n;grade=g;} string num; double grade;
};
输入样例:
无
输出样例:
在这里给出相应的输出。例如:
1 010 122 102 12.53 036 12.64 011 12.75 438 12.76 025 13.47 037 13.48 001 13.69 002 14.810 031 14.911 325 15.312 023 15.6
####注意:使用setw()进行宽度设置,每个输出项占6列。
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int main()
{Sport s[12]={Sport("001",13.6),Sport("002",14.8),Sport("010",12.0),Sport("011",12.7),Sport("023",15.6),Sport("025",13.4),Sport("031",14.9),Sport("036",12.6),Sport("037",13.4),Sport("102",12.5),Sport("325",15.3),Sport("438",12.7)};double t;string p;for(int i=0;i<11;i++){for(int i=0;i<11;i++){if(s[i].grade > s[i+1].grade){t = s[i].grade;s[i].grade = s[i+1].grade;s[i+1].grade = t;p = s[i].num;s[i].num = s[i+1].num;s[i+1].num = p;}}}for(int i=0;i<12;i++){cout<<setw(6)<<i+1<<setw(6)<<s[i].num<<setw(6)<<s[i].grade<<setw(6)<<endl;}
}