问题描述:建立一个简单的学生成绩表,要求能够完成学生成绩的录入,总成绩的计算,学生成绩的查询,学生成绩表的排序
算法分析:
创建一个线性表来储存学生成绩,每个学生成绩信息作为一个数据元素
确立线性表的长度,录入学生信息
通过学号对学生信息进行查询,遍历学号,如果没有找到提示输入信息出错
排时,先确立对那个科目进行排序,基本方法:冒泡排序法,通过交换相邻元素的位置将较低成绩的数据元素前移
具体代码如下:
STEP1:完成数据元素和线性表的定义
注意:对学号用的是字符串的数组的定义,方便之后的字符串的比较(查找算法时)
//定义结构体类型 typedef struct { char no[10]; //学号 char name[10]; int score[5]; int totol; //总成绩 }student; typedef struct{ student stu[MAXSIZE]; int len; //线性表的实际长度 }SqList;
STEP2:完成数据的输入
用到了结构体数组中,及数据元素中的数组(score[])输入使用两重for循环完成
void creat(SqList &L,int &n){ printf("请输入学生的人数:\n"