新手上路。。。排名问题求解!!
#include <stdio.h>int main()
{
int i,j,n,k;
float a[30][6];
float s=0,temp2;
printf("学生人数\n");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i][0]=(float)i+1;
for(j=1;j<4;j++)
{
printf("请输入第%d人的第%d科成绩:\n",i+1,j);
scanf("%f",&a[i][j]);
s=s+a[i][j];
}
a[i][4]=s;
a[i][5]=s/3;
s=0;
}
printf("排列前\n");
printf("学号 数学 英语 物理 总分 平均分 排名\n");
for(i=0;i<n;i++)
{
for(j=0;j<5;j++)
printf("%-6.0f",a[i][j]);
printf("%-8.1f\n",a[i][5]);
}
printf("********************************************************************************\n");
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n+1;j++)
if(a[k][4]<a[j][4])
k=j;
if(k!=i)
{
for(j=0;j<6;j++)
{
temp2=a[i][j];
a[i][j]=a[k][j];
a[k][j]=temp2;
}
}
}
printf("排列后\n");
printf("学号 数学 英语 物理 总分 平均分 排名\n");
for(i=0;i<n;i++)
{
for(j=0;j<5;j++)
printf("%-6.0f",a[i][j]);
printf("%-8.1f\n",a[i][5]);
}
return 0;
}
我想加一个排名次的程序进去,但弄了一天都弄不了。。求解决。。