发布网友 发布时间: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()来进行排序,再打印应该很容易的。