搜索

...按平均分的从高到低打印出成绩单(成绩单包括学号、两门课程成绩和...

发布网友 发布时间:2024-10-24 14:55

我来回答

2个回答

热心网友 时间:2024-11-06 01:12

平均数怎么处理啊
擅自改成实数~
#include <stdio.h>
#define M 30
void main()
{
float st[M][4],f;
int j,i,k;
for(i=0;i<M;i++)
{

printf("\n输入学生的学号:");
scanf("%f",&st[i][0]);
printf("\n输入第一门课程的成绩:");
scanf("%f",&st[i][1]);
printf("\n输入第二门课程的成绩:");
scanf("%f",&st[i][2]);
st[i][3]=(st[i][1]+st[i][2])/2.0;
}
for(i=0;i<M-1;i++)
{
j=i;
for(k=i+1;k<M;k++)
if(st[j][3]<st[k][3])
j=k;
for(k=0;k<4;k++)
{
f=st[i][k];
st[i][k]=st[j][k];
st[j][k]=f;
}
}
for(i=0;i<M;i++)
{
for(k=0;k<4;k++)
printf("%.2f ",st[i][k]);
putchar('\n');
}
}

热心网友 时间:2024-11-06 01:15

用二维数组不是太好。最好是使用结构体来存放这四个变量:学号,课程1成绩,课程2成绩,平均分。然后用qsort()来进行排序,再打印应该很容易的。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top