题目描述:
编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多20个字符),性别(男/女,用1表示男,2表示女)、 生日(19850101(年月日))、身高(以m为单位),还需要处理C语言、微积分两门课的成绩,请编写程序实现功能: 输入学生的人数和每个学生的信息;输出每门课程的总平均成绩、最高分和最低分,以及获得最高分的学生的信息。 需要注意的是某门课程最高分的学生可能不只一人。 输入输出格式要求: 身高输出时保留两位小数,请按照例子中进行输出,请勿输出其他字符 例如: 输入:3 zhangsan 1 19910101 1.85 85 90 lisi 1 19920202 1.56 89 88 wangwu 2 19910303 1.6 89 90回车 输出: C_average:87回车 C_max:89回车 lisi 1 19920202 1.56 89 88回车 wangwu 2 19910303 1.60 89 90回车 C_min:85回车 Calculus_average:89回车 Calculus_max:90回车 zhangsan 1 19910101 1.85 85 90回车 wangwu 2 19910303 1.60 89 90回车 Calculus_min:88回车
参考代码:
#includestruct STU{ char name[25]; int gender; int birthday; float height; int scoreC; int scorec; }stu[10]; int main() { int n,C_ave,C_max[10]={-1},C_min=200,c_ave,c_max[10]={-1},c_min=200,C_sum=0,c_sum=0,C_num=0,c_num=0; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%s %d %d %f %d %d",stu[i].name,&stu[i].gender,&stu[i].birthday,&stu[i].height,&stu[i].scoreC,&stu[i].scorec); C_sum+=stu[i].scoreC; c_sum+=stu[i].scorec; if(stu[i].scoreC>C_max[0]) C_max[0]=stu[i].scoreC; if(stu[i].scoreC c_max[0]) c_max[0]=stu[i].scorec; if(stu[i].scorec 讲解:
结构体以及之前知识的综合运用。
在输入数据的同时记录下C语言和微积分的最高、最低成绩,然后再遍历一遍检查最高分是否有多人。最后按要求输出即可。
求实求真,大气大为。



