成绩排序是常有的需求,现在就来用c++实现一下(简洁开场)
/1.需求/
1.输入的第一行数据是学生的总数n,正整数,不会超过int的范围。
2.接下来n行格式是:学生名称 学生语文成绩 学生数学成绩 学生英语成绩
3.输出有n行,格式是:排名 学生名 学生总成绩
4.输出按排名升序排列,排名根据总成绩计算。
我们来分析一下这个需求,首先储存数据我们肯定需要数组,而这个数组的长度不定,需要让用户来定义,学生名称、学生成绩的数据类型不同,需要一个“可以同时盛放多个类型的复合类型”,排序就根据我们之前讲过的冒泡排序来排序。
/2.让用户定义长度的数组/
之前讲过普通数组的定义方式:
类型 名称[长度] = {元素1,元素2...}
有些时候,长度是一个不确定的值,这时候我们就需要使用变长数组来实现,注意,像下面的第二条语句是非法的:
类型 * 名称 = new 类型[不确定长度]// 类型 名称[不确定长度] = {.