C++程序设计 包含随机数法,冒泡排序法,选择排序法,单列表以及菜单

成绩排序
假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:
⑴ 编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;
⑵ 编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;
⑶ 用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;
⑷ 用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;
⑸ 对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;
⑹ 设计一个菜单,至少具有上述操作要求的基本功能。

第1个回答  2019-07-08
程序代码如下: #include #include using namespace std; struct student { char NAME[20];//名字 long NUM;//学号 double MT;//数学 double EN;//英语 double PH;//物理 double sum;//总分 }; int ReadScore(student stu[])//输入名字———成绩 { int count=0;//人数 cout.setf(ios::right); cout<<"名字">stu[i].NAME>>stu[i].NUM>>stu[i].MT>>stu[i].EN>>stu[i].PH; if(stu[i].MT/姓名 long num=0;//学号 double mt=0;//数学 double en=0;//英语 double ph=0;//物理 for(int i=0;i>num; for(int j=0;j本回答被网友采纳
第2个回答  2019-07-08
这种还是自己操作比较有意思,还可以尝试用java或者Python都操作试试
相似回答