交换排序(ExchangeSort)(C++)

来源:百度知道 编辑:UC知道 时间:2024/06/16 18:52:09
假设有一个班级学生n人,期末考试老师要对成绩从高到低列出,并对各科的考试成绩求出其最高分、最低分和平均成绩。试设计一个成绩管理程序,按要求显示输出学生的记录和相关的成绩。
(1)学生成绩的数据来源于程序的结构数组,定义若干个(不少于10)学生的记录,学生记录包括:学号、姓名、三至五门科目的考试成绩;
(2)使用一种排序算法对上述某门科目的成绩进行排序;
(3)将排序后的成绩,以每个学生记录的形式显示输出;
(4)求出每门科目的最高分、最低分和平均分的信息;
(5)输出的数据要清晰,排列整齐。
麻烦哪位高手能帮我写出个完整的答案吧,我等着要交作业呀,小弟我还真写不出……谢啦

#include <stdio.h>
#define MAX 50 //最大人数
struct few
{
float a;
float b;
float c;
};
struct student
{
int num;
char name[30];
float ave;
struct few score;
};
void display(int,char *,float);
int in(struct student *,int);
int del(struct student *,int);
void arr(struct student *,int);
void main()
{

/*设置一个结构数组stu用于保存学生信息,

count用于计算当前学生数.

*/
struct student stu[MAX];
int i=0,count=0,set=0;
float sum=0;
char ans;
ans='y';

//循环输入学生信息 保存到结构数组 stu[MAX]里面。
do
{
printf("\n请入学号:");
scanf("%d",&stu[i].num);
printf("\n请输入姓名:");
fflush(stdin);
gets(stu[i].name);
printf("\n三门课的成绩:");
printf("\n成绩1:");
scanf("%f",&stu[i].score.a);
printf("\n成绩2:");