急求!一道C语言编程题,

输入一个班30名学生的学号和姓名以及M门课的成绩并作如下处理:1)每个学生总分和平均分2)按总分大小排名次3)打印出成绩在全班平均分以上的学生名单麻烦高手把程序概况写出,... 输入一个班30名学生的学号和姓名以及M门课的成绩并作如下处理:
1)每个学生总分和平均分
2)按总分大小排名次
3)打印出成绩在全班平均分以上的学生名单
麻烦高手把程序概况写出,谢了!!!
展开
 我来答
wangzhe_cs
2006-12-11
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
结构体(类)Stu_Node //学生
stu_id::String
stu_name::String
stu_sum::double
stu_average:double
stu_courses::Course_Stu[] 学生所修课程
next_stu::*Stu_Node

结构体(类)Course_Node //课程
course_id::String
course_name::String
pre_course_stus::Course_Stu[] //课程所含学生
next_course::*CourseNode

结构体(类)Course_Stu //学生课程联接件
course::Course_Node
student::Student_Node
mark::double //学生成绩

主程序(主类)
根据要求循环输入各个部分
//创建首学生,首课程

//创建具体课程
while(courses!=m){
//create a course_node;
//input course_id;
//input course_name;
}

//创建具体学生
while(total!=30){
//create a stu_node;
//input stu_id;
//input stu;
while(courses!=m){
//从首课程开始,每次将指针后移
//create couse_stu;
//input mark;
//correlate input course_node
//correlate input stu_node
//input into stu_node stu_courses
//input into course_node course_stus
}
}

//按需要打印
(1)学生总分
while(courses!=m){
sum+=stu_node->stu_courses[x++]
}; aver=sum/30;
(2)按总分排名
while(total!=30){
//不管什么方法排序就是了
//顺便加一个全班总分出来
}
(3)不明白什么意思总分平均分以上么?(ft,那样就不用费劲做这个表结构了,不过这样更清楚)
总成绩都用了,打印成绩以上的应该不难吧
(3)如果要每科平均分以上的那就需要先用链表找到课程
然后求总成绩
求平均
打印结果

P.S.通过3个结构体(类)建立了一张二维表,这里在“学生课程联接件”上偷了个懒,没有用链表方式你可以自己改成链表方法就是建立两个对应两不同维度的指针。
主要是写了数据结构的部分,所以主程序伪代码写的不是很详细,如果我想应该不难吧。都是基本Order, Search操作了。再有问题补充,希望对你有帮助:)
彩凤聊财商
2006-12-08 · TA获得超过211个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:116万
展开全部
你可以用链表来实现,其中每个结点用指针呀
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
乱码语言
2006-12-08 · TA获得超过164个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:162万
展开全部
用一个结构体数组就可实现啦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式