成绩排序.C语言

来源:百度知道 编辑:UC知道 时间:2024/07/03 12:54:08
成绩排序.按学生的序号输入 学生的成绩,按照分数由高到低的顺序输出学生的名次,该名次的分数,相同名次的人数和学号;同名次的学号输出 在同一行中,一行最多输出 10个学号.

#include<stdio.h>
#define Arr-size 40
main()
{
float score[Arr-size ],temp1;
int n,i,j;
long num[Arr-size ],temp2;
printf("Plese enter total number:");
scanf("%d",&n);
printf("Plese enter the number and score:\n");
for(i=0;i<n;i++)
{
scanf("%ld%f",&num[i],&score[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(score[j]>score[i])
{
temp1=score[j];
score[j]=score[i];
score[i]=temp1;
temp2=num[j];
num[j]=num[i];
num[i]=temp2;
}
}
}
printf("scorted results:\n");
for(i=0;i<n;i++)
{
printf("%ld\t%4.0f\n",num[i],score[i]);
}
}