c语言结构程序设计。根据要求定义函数,并输出结果。

如题所述

#include <stdio.h>

#define MAX 50

struct student {
char no[10];
char name[10];
float score[3];
}stu[MAX];

float course_ave[3] = {0};
float stu_ave[MAX] = {0};

// 录入学生成绩
void input(int n) {
int i;
for(i=0; i<n; i++) {
scanf("%s %s", stu[i].no,stu[i].name);
scanf("%f %f %f", &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
}

// 计算每门课的平均成绩
void Course_ave(int n){
int i,j;
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
course_ave[j] += stu[i].score[j];
}
}

for(j=0; j<3; j++) {
course_ave[j] /= MAX;
}
}

// 计算每个学生的平均成绩
void Stu_ave(int n) {
int i,j;
for(i=0; i<n; i++) {
for(j=0; j<3; j++) {
stu_ave[i] += stu[i].score[j];
}
stu_ave[i] /= 3;
}
}

void main () {
int i,j;

printf("请输入学生的学号 姓名 语文 数学 英语");
input(MAX);

Course_ave(MAX);
printf("\n课程的平均成绩是: %6.2f %6.2f %6.2f\n",course_ave[0],course_ave[1],course_ave[2]);

Stu_ave(MAX);
printf("\n学生的平均成绩是: \n");
for(i=0; i<MAX; i++) {
printf(" %s %s %6.2f\n", stu[i].no,stu[i].name, stu_ave[i]);
}

getchar();
getchar();
}
温馨提示:答案为网友推荐,仅供参考