编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多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[20]; int gender; int birth; float height; float C; float Calculus; }; int main() { struct stu a[10]; int i,n,t=0,C_sum=0, C_max,C_min,Calculus_sum=0,Calculus_min, Calculus_max; float C_average, Calculus_average; scanf("%d", &n); for (i = 0;i < n;i++) { scanf("%s %d %d %f %f %f", &a[i].name, &a[i].gender, &a[i].birth, &a[i].height, &a[i].C, &a[i].Calculus); } //求C成绩最大值、最小值 C_min = a[0].C; C_max = a[0].C; for (i = 0;i < n-1;i++) { if (C_max <= a[i + 1].C) C_max = a[i+1].C; if (C_min >= a[i + 1].C) C_min = a[i + 1].C; else continue; } //求Calculus成绩最大值、最小值 Calculus_min = a[0].Calculus; Calculus_max = a[0].Calculus; for (i = 0;i < n - 1;i++) { if (Calculus_max <= a[i + 1].Calculus) Calculus_max = a[i + 1].Calculus; if (Calculus_min >= a[i + 1].Calculus) Calculus_min = a[i + 1].Calculus; else continue; } //求C成绩平均值 for (i = 0;i < n;i++) { C_sum += a[i].C; } C_average = C_sum / n; //求Calculus成绩平均值 for (i = 0;i < n;i++) { Calculus_sum += a[i].Calculus; } Calculus_average = Calculus_sum / n; //输出数据 printf("C_average:%.0fnC_max:%dn", C_average,C_max); //C最高分学生信息 for (i = 0;i < n;i++) { if (a[i].C == C_max) { printf("%s %d %d %.2f %.0f %.0fn",a[i].name,a[i].gender,a[i].birth,a[i].height,a[i].C,a[i].Calculus); } } printf("C_min:%dn", C_min); printf("Calculus_average:%.0fnCalculus_max:%dn", Calculus_average, Calculus_max); //Calculus最高分学生信息 for (i = 0;i < n;i++) { if (a[i].Calculus == Calculus_max) { printf("%s %d %d %.2f %.0f %.0fn", a[i].name, a[i].gender, a[i].birth, a[i].height, a[i].C, a[i].Calculus); } } printf("Calculus_min:%dn", Calculus_min); return 0; }
码图4.7学生管理系统
结构体的简单应用,建议写注释



