# include
typedef struct
{
int xuehao; /*学号*/
float score[3]; /*三门成绩*/
float Average; /*平均成绩*/
}student;
/*排序函数*/
/*入口参数:数组,数组起始元素下标,末端元素下标*/
void sort(student a[],int left,int right)
{
student temp;
int i,j;
i=left;j=right;
temp=a[left];
while(i { while(i if(i { a[i]=a[j]; i++; } while(i if(i { a[j]=a[i]; j--; } } a[i]=temp; if(left
if(i } void main() { student stud[6]; int i,j; printf("请依次输入6名学生的学号和三门课程成绩\n"); for(i=0;i<6;i++) scanf("%d %f %f %f",&stud[i].xuehao,&stud[i].score[1],&stud[i].score[2],&stud[i].score[3]); for(i=0;i<6;i++) stud[i].Average=(stud[i].score[1]+stud[i].score[2]+stud[i].score[3])/3; sort(stud,0,5); printf("\n排序结果:\n"); for(i=0;i<6;i++) printf("\n%d %f",stud[i].xuehao,stud[i].Average); printf("\n"); }
定义一个二维数组a[i][j],
for(i=0;i<6;i++)
cin>>a[i][0];//输入六名学生的学号
for(j=0;j<3;j++)
cin>>a[0][j];//输入每个人每门课的成绩
然后求出平均值就可以了。然后用冒泡排序法排序平均成绩;
得到结果。
成绩是计算六个同学每门课的平均成绩还是每个同学三门的平均成绩