用C语言做这个韪目

来源:百度知道 编辑:UC知道 时间:2024/07/03 01:28:56
a)定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩
b)从键盘输入10个学生的学号,姓名,三门课的成绩保存至结构体中
c)输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩
d)输出三门课程的平均分数最高的学生的学号、姓名及其平均
e)将10个学生按照平均分数从高到低进行排序,输出结果,格式如下所示:number name math Chinese English average103 tom 90 90 100 95101 alice 90 80 70 80

简单说一下思路吧
先定义一个结构体
struct data{
int number;
char name[10];
int math,chinese,english;
int ave;
struct data *next;
};
然后输入时用循环,每一次循环里面要有一个mallco(sizeof(struct data));分配空间以后用指针保存,之后读入数据,每读入一个都同时计算ave并存入,然后再一次循环。在这之前需要用一个指针保存最开始的一个地址,并且每分配一个都使上一个的next指向这一个。
然后比较math,chinese,english的最高分就可以了
平均分就比较ave就可以了
排序建议用冒泡排序,随便去网上查一下就可以查到冒泡排序的算法了
祝你成功(都是我自己写的……如果不嫌弃,就采纳为最佳答案吧)