用C语言编程 要求用到结构体 模块化 大虾们帮帮我啊

来源:百度知道 编辑:UC知道 时间:2024/06/13 16:07:12
从键盘输入一个班(全班有30人)学生的学号、姓名、5门课的成绩,分别统计下列内容: (使用结构体的知识)
a) 统计每个学生的总分和平均分
b) 统计每门课程的最高分、最低分和平均分
c) 根据提供的学号和姓名,输出该生的相关信息

#include<stdio.h>
#include<string.h>
#define N 30
typedef struct {
char NO[25];
char name[25];
int mark[5];
int sum;
double avg;

}Student;
Student S[N];
int main()
{
int i,j,max[5] = {0},min[5] = {100,100,100,100,100};
int op;
char s[20];
for(i = 0;i < N;i ++) {
scanf("%s",S[i].NO);
scanf("%s",S[i].name);
S[i].sum = 0;
for(j = 0;j < 5;j ++) {
scanf("%d",&S[i].mark[j]);
S[i].sum += S[i].mark[j];
if(max[j] < S[i].mark[j]) max[j] = S[i].mark[j];
if(min[j] > S[i].mark[j]) min[j] = S[i].mark[j];

}
S[i].avg = S[i].sum*1.0/5;
}
for(i = 0;i < N;i ++) {
printf("学号:%s 姓名:%s 总分:%d 平均分:%.2lf\n",S[i].NO,S[i].name,S[i].sum,S[i].avg);
}
for(i =0 ;i < 5;i ++) {
printf("第%d门最好分为:%d,最低分为: %d\n",i,max[i],