急求!一道C语言编程题,
输入一个班30名学生的学号和姓名以及M门课的成绩并作如下处理:1)每个学生总分和平均分2)按总分大小排名次3)打印出成绩在全班平均分以上的学生名单麻烦高手把程序概况写出,...
输入一个班30名学生的学号和姓名以及M门课的成绩并作如下处理:
1)每个学生总分和平均分
2)按总分大小排名次
3)打印出成绩在全班平均分以上的学生名单
麻烦高手把程序概况写出,谢了!!! 展开
1)每个学生总分和平均分
2)按总分大小排名次
3)打印出成绩在全班平均分以上的学生名单
麻烦高手把程序概况写出,谢了!!! 展开
3个回答
展开全部
结构体(类)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操作了。再有问题补充,希望对你有帮助:)
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操作了。再有问题补充,希望对你有帮助:)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询