求以下程序方法

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:51:55
已知某运动会上百米决赛的成绩,要求编写程序,分别输入8位运动员的号码和成绩,然后按成绩排名并输出
排名结果,包括名次,运动员号,成绩3项内容。
太麻烦了

#include<stdio.h>
#include<string.h>
struct athlete
{
int order;
char num[20];
int time[2];
};
void input(athlete ath[]);
void sort(athlete ath[]);
void output(athlete ath[]);
void main()
{
athlete ath[8];
input(ath);
sort(ath);
output(ath);
}

void input(athlete ath[])
{
for(int i=0;i<8;i++)
{
printf("input number:");
scanf("%s",ath[i].num);
printf("input time(e.g. 10'09 input 10 09):");
scanf("%d %d",&ath[i].time[0],&ath[i].time[1]);
}
}
int calculate_time(int time[])
{
return time[0]*100+time[1];
}
void swap(athlete &ath1,athlete &ath2)
{
int temp;
for(int i=0;i<2;i++)
{
temp=ath1.time[i];
ath1.time[i]=ath2.time[i];
ath2.time[i]=temp;
}
char temp_ch[20];
strcpy(temp_ch,ath1.num