已知5个同学的4门功课,求出每个学生的平均成绩,然后对平均成绩从高到低排序。

#include <stdio.h>
void main ()
{
int i,j,sum,t;
int a[5][4]={{78,79,90,67},{60,76,89,63},{86,75,96,56},{54,63,86,96}, {63,96,98,97}};
printf("\n");
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<4;j++)
sum=sum+a[i][j];
a[i][4]=sum/4;}
for(int k;k<5;k++)
for(i=0;i<5-k;k++)
if(a[i][4]<a[i+1][4])
{t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++)
for(j=0;j<4;j++)
printf("%8d",a[i][j]);
printf("\n");
}
这是我做的,可是我弄不出来,请教各位我哪里做错了,还是写错咯?谢谢了!!

#include <stdio.h>
void main ()
{
int i,j,k,sum,t;
int a[5][4]={{78,79,90,67},{60,76,89,63},{86,75,96,56},{54,63,86,96}, {63,96,98,97}};
printf("\n");
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<4;j++)
{
sum=sum+a[i][j];
a[i][4]=sum/4;
}/*内层for循环缺少右大括号*/
}
for(k=1;k<5;k++) /*k的定义放到前面,不能放在这里,而且k=1*/
for(i=0;i<5-k;k++)
if(a[i][4]<a[i+1][4])
{t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++)
{#include <stdio.h>
void main ()
{
int i,j,k,sum,t;
int a[5][4]={{78,79,90,67},{60,76,89,63},{86,75,96,56},{54,63,86,96}, {63,96,98,97}};
printf("\n");
for(i=0;i<5;i++)
{
sum=0;
for(j=0;j<4;j++)
{
sum=sum+a[i][j];
a[i][4]=sum/4;
}
}
for(k=1;k<5;k++)
for(i=0;i<5-k;k++)
if(a[i][4]<a[i+1][4])
{t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++)
{ /*外层for循环加左大括号*/
for(j=0;j<4;j++)
printf("%8d",a[i][j]);
printf("\n");
}/*外层for循环加右大括号,目的是输出为矩阵形式*/
}
温馨提示:答案为网友推荐,仅供参考
相似回答