**
田径运动会中,男子跳远进决赛24人,找出前六名
**
#include<stdio.h>
#include<string.h>
#include<conio.h>
struct sp{
int no;
char name[0];
float score;
}
/**************写函数**************
**************输入**************/
void input(struct sp x[],int n){
int i;
for(i=0;i<n;i++){
fflush(stdin);
scanf("%d",&x[i].no);
fflush(stdin);
gets(x[i],name);
fflush(stdin);
scanf("%f",&x[i].score);
}
}
/*************排序***********/
void sort(struct sp x[],int n){
int i,j;max_pos;
for(i=0;i<n-1;i++){
max_pos=i; //假设最大值的位置是i
for(j=i+1;j<n-1;j++)
if(x[j].score>x[max_pos].score) //找出最大
max_pos=j;
if(i!=max_pos){
t=x[i];
x[i]=x[max_pos];
x[max_pos]=t;
}
}
}
/************输出***********/
void output(struct sp x[],int n){
int i;
for(i=o;i<n;i++){
printf("运动员号:%d",x[i].no);
printf("运动员姓名:%s",x[i].name);
printf("运动员成绩:%6.2f"x[i].no);
printf("运动员名次:%d\u",i+1);
}
}
/************主函数************/
void main(){
struct sp sps[24];
input(sps,24); //输入
sort(sps,24); //排序
output(sps,24); //输出
}