c语言排序问题 拜托!!!

来源:百度知道 编辑:UC知道 时间:2024/06/06 05:28:35
输入N个人的数学和英语的分数(最后为[Ctrl+D]),然后分别表示出输入的顺序;数学分数由高到低的排序;英语分数由高到低的排序。最后再表示出所有人数学的平均成绩和英语的平均成绩。最大能处理100个人就可以。
以下为输入4个人成绩后表示的例子:
85 80
80 90
75 85
95 75
[ctrl]+D

Math Eng
1 85 80
2 80 90
3 75 85
4 95 75

1 95 75
2 85 80
3 80 90
4 75 85

1 80 90
2 75 85
3 85 80
4 95 82

83.8 82.5

最后为平均成绩

谢谢各位大哥大姐了,一定要帮帮小弟阿。。。。
你写的是什么啊?分数是要在执行程序的时候输入的。。。再有,这个是需要循环的啊。。。

真对不住1,2楼的兄弟。。。我不是初级,我是根本就不会。。。呵呵,能不能用最简单的方法写啊?qsort()是什么意思啊???

定义
struct Mark
{
int math; //数学成绩
int eng; //英语成绩
};
再自己定义两个不同的比较函数,调用qsort(),分别根据不同的标准排序一下就可以了。
至于求平均值,这个太简单了,自己加一下,再除一下吧!

看到楼主的补充,一楼肯定郁闷死……

楼主可能是初学C吧?一楼的意思是做一个结构体用来保存分数,然后用stdlib.h里内置的qsort函数进行快速排序。你可以在里面加个英语数学平均值然后加权排序。一楼思路很对的……