学生管理系统
题目:编写学生管理系统,其中学生的信息有姓名(汉语拼音,最多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>
#include <string.h>
struct Person{
char name[20];//姓名
int f;//性别
char str[10];//生日
double h;//身高
int l,r;//两科的成绩
}P[100];
int main()
{
int n;
scanf("%d",&n);
int C_max=0,C_min=100,C_average=0;
int Ca_max=0,Ca_min=100,Ca_average=0;
for (int i=0;i<n;i++)
{
scanf("%s %d %s %lf %d %d",P[i].name,&P[i].f,P[i].str,&P[i].h,&P[i].l,&P[i].r);
if (P[i].l>C_max)
C_max=P[i].l;
if (P[i].l<C_min)
C_min=P[i].l;
if (P[i].r>Ca_max)
Ca_max=P[i].r;
if (P[i].r<Ca_min)
Ca_min=P[i].r;
C_average+=P[i].l;
Ca_average+=P[i].r;
}
printf(“C_average:%d\n”,C_average/n);
printf(“C_max:%d\n”,C_max);
for (int i=0;i<n;i++)
{
if (P[i].lC_max)
{
printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r);
}
}
printf(“C_min:%d\n”,C_min);
printf(“Calculus_average:%d\n”,Ca_average/n);
printf(“Calculus_max:%d\n”,Ca_max);
for (int i=0;i<n;i++)
{
if (P[i].rCa_max)
{
printf("%s %d %s %.2f %d %d\n",P[i].name,P[i].f,P[i].str,P[i].h,P[i].l,P[i].r);
}
}
printf(“Calculus_min:%d\n”,Ca_min);
return 0;
}
代码看起来很多,但是慢慢看的话就很简单