有一个5人的数学兴趣小组进行了一次测试(满分为100分),测试成绩出来后,请你编写一程序,实现录入这5位学生的测试成绩,并找出测试成绩最高与最低的学生信息,其中学生信息包含学生编号、姓名、性别和测试成绩。
【分析】根据本例提供的信息可知:学生信息包含学生编号、姓名、性别和测试成绩。通常会用整型来表示学生编号、字符型来表示学生的姓名与性别、单精度浮点型(实型)来表示测试成绩。也就是说,一位学生的信息包含多种数据类型,很显然用一个数组无法表达,如用多个不同的数组,问题就变得比较复杂。因此,利用结构体来解决这一问题比较合理。定义一个结构体类型(student),其成员包含学生编号(bh)、学生姓名(xm)、性别(sex)和测试成绩(test)。再定义一个student型的结构体数组stu[5],接下来应用循环控制录入学生成绩并查找测试成绩最高与最低的学生并将其输出,从而解决该问题。
【算法描述】
(1)设定三个整型变量i,j,k;其中变量i用作循环控制及结构体数组下标变量,变量j用作最高成绩的标志,变量k用作最低成绩的标志;
(2)定义结构体类型student,在此基础上定义student型的结构体数组;
(3)设定两个变量max与min,分别用于存放最高成绩与最低成绩,并给两变量赋初值为max=0,min=100;
(4)利用循环控制学生信息的录入、测试成绩的比较及最高最低成绩的标注;
(5)输出最高测试成绩与最低测试成绩的学生信息,结束程序。
【参考程序】
【运行情况】