满意答案
anxianhao
2015.10.04
采纳率:45% 等级:12
已帮助:5464人
已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排序记录(成绩最高的学生的排在数组的最前行,成绩最低的学生牌子啊数组的最后面的一行)?
方法一:#include
void main()
{
float a[5][5],sum=0,t;
int i,j,k;
for(i=0;i<5;i++)
{printf("please input the %d student's scores:",i+1);
for(j=0;j<=3;j++)
{
scanf("%f",&a[i][j]);
}
}
for(i=0;i<5;i++)
for(j=0,a[i][4]=0;j<4;j++)
{ a[i][4]+=a[i][j];
if(j==3) a[i][4]=a[i][4]/4;
}
for(k=0;k<4;k++)
for(i=0;i<5;i++)
if(a[i][4]
for(j=0;j<5;j++)
{t=a[i][j];a[i][j]=a[i+1][j];a[i+1][j]=t;}
for(i=0;i<5;i++)
{
printf("
");
for(j=0;j<5;j++)
printf("%.2f ",a[i][j]);
}
}
方法二:#include"stdio.h"
void main()
{
float a[5][4],b[5]={0,0,0,0,0},t;
int i,j;
printf("请输入5个同学4门功课的成绩:
");
for(i=0;i<5;i++)
for(j=0;j<4;j++)
scanf("%f",&a[i][j]);
for(i=0;i<5;i++)
for(j=0;j<4;j++)
b[i]+=a[i][j];
for(j=0;j<4;j++)
for(i=0;i<4-j;i++)
if(b[i]
for(i=0;i<5;i++)
printf("第%d名的平均分数为%.2f
",i+1,b[i]/4);
}
12分享举报