c语言题目,已知5个学生4门成绩,求出平均成绩并且排序

排序的要求是成绩最高的学生的成绩排在数组的最前面的行,成绩最低的排在数组最后面的行

#include <stdio.h>

main()
{
int chengji[5][4]={{51,52,53,0},{61,62,63,0},{71,72,73,0},{81,82,83,0},{91,92,93,0}};//定义二维数组并初始化
int i=0;//用于循环
int j=0;//用于子循环
int t=0;

for (i=0;i<5;i++)
{
chengji[i][3]=(chengji[i][0]+chengji[i][1]+chengji[i][2])/3;
}
printf("排序前:\n");
for (i=0;i<5;i++)
{
for (j=0;j<4;j++)
{
printf("%6d",chengji[i][j]);
}
printf("\n");
}
for (i=0;i<5;i++)
{
for (j=i;j<5;j++)
{
if (chengji[i][3]<chengji[j][3])
{
t=chengji[i][0];
chengji[i][0]=chengji[j][0];
chengji[j][0]=t;
t=chengji[i][1];
chengji[i][1]=chengji[j][1];
chengji[j][1]=t;
t=chengji[i][2];
chengji[i][2]=chengji[j][2];
chengji[j][2]=t;
t=chengji[i][3];
chengji[i][3]=chengji[j][3];
chengji[j][3]=t;
}
}
}
printf("排序后\n");
for (i=0;i<5;i++)
{
for (j=0;j<4;j++)
{
printf("%6d",chengji[i][j]);
}
printf("\n");
}
}
由于时间关系,所以排序写的有点不好,不过功能实现了
温馨提示:答案为网友推荐,仅供参考
相似回答