编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多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回车
#include<stdio.h>
struct 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:%.0f\nC_max:%d\n", C_average,C_max);
//C最高分学生信息
for (i = 0;i < n;i++) {
if (a[i].C == C_max) {
printf("%s %d %d %.2f %.0f %.0f\n",a[i].name,a[i].gender,a[i].birth,a[i].height,a[i].C,a[i].Calculus);
}
}
printf("C_min:%d\n", C_min);
printf("Calculus_average:%.0f\nCalculus_max:%d\n", Calculus_average, Calculus_max);
//Calculus最高分学生信息
for (i = 0;i < n;i++) {
if (a[i].Calculus == Calculus_max) {
printf("%s %d %d %.2f %.0f %.0f\n", a[i].name, a[i].gender, a[i].birth, a[i].height, a[i].C, a[i].Calculus);
}
}
printf("Calculus_min:%d\n", Calculus_min);
return 0;
}
?码图4.7学生管理系统
结构体的简单应用,建议写注释
|