输入5个学生的4门成绩,求每个学生的平均成绩,平均成绩从大到小排序

#include<stdio.h>
void main()
{
int i,j,k;
float a[5][5],sum,t;
for(i=0;i<5;i++)
{for(j=0;j<4;j++)
scanf("%f",&a[i][j]);};
for(i=0;i<5;i++)
{sum=0;
for(j=0;j<4;j++)
sum+=a[i][j];
a[i][5]=sum/4;
printf("%6.2f",a[i][5]);}
printf("\n");
for(k=0;k<4;k++)
for(i=0;i<4-k;i++)
if(a[i][5]<a[i+1][5])
{t=a[i][5];a[i][5]=a[i+1][5];a[i+1][5]=t;}
for(i=0;i<5;i++)
printf("%6.2f",a[i][5]);
printf("\n");}
排序的时候最后一个数总是是0.00,哪里错了?

a[i][5]=sum/4;
你的数组是5个数,a[i][4]才是数组的最后一个,你引用错了,它的值一直没有改变过所以你输出的时候是0
温馨提示:答案为网友推荐,仅供参考
相似回答