c语言 已知5名同学的4门成绩,已知5个学生的4门课的成绩,要求求出每个学生的平均成绩,然后对平均成绩从高到低将各学生的成绩排 序记录…

  • Post author:
  • Post category:其他


满意答案

02ae427d08e371d7e90d5b995e828d6d.png

anxianhao

2015.10.04

02ae427d08e371d7e90d5b995e828d6d.png

采纳率: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分享举报