C语言编程1、编写一个程序实现如下功能:输入10个学生5门课程的成绩,分别用函数求:①每个学生的平均分;②每门课程的平均
1个回答

第一题:

#include

#include

#define STUDENT_NUM 2 //学生数量,修改成10即可

#define COURSE_NUM 5 //课程数量,为5

typedef struct {

float course[COURSE_NUM];

float ave;

} student;

void main()

{

student st[STUDENT_NUM];

int i, j;

char item[10] = "cour1";

int h_st = 0, h_course = 0;

float course_average = 0.0;

for (i = 0; i < STUDENT_NUM; i++)

{

printf("Input score of student %d:n", i + 1);

st[i].ave = 0.0;

for (j = 0; j < COURSE_NUM; j++)

{

scanf("%f", &st[i].course[j]);

st[i].ave += st[i].course[j];

if (st[i].course[j] > st[h_st].course[h_course])

{

h_st = i;

h_course = j;

}

}

st[i].ave /= COURSE_NUM;

}

printf(" NO.t");

for (i = 0; i < COURSE_NUM; i++)

{

item[4] = i + '1';

printf("%st", item);

}

printf("aven");

for (i = 0; i < STUDENT_NUM; i++)

{

printf(" NO. %dt", i + 1);

for (j = 0; j < COURSE_NUM; j++)

printf("%.2ft", st[i].course[j]);

printf("%.2fn", st[i].ave);

}

printf("naverage: ");

for (i = 0; i < COURSE_NUM; i++)

{

course_average = 0.0;

for (j = 0; j < STUDENT_NUM; j++)

course_average += st[j].course[i];

course_average /= STUDENT_NUM;

printf("%.2ft", course_average);

}

printf("n");

printf("nhighest: %.2f NO. %d course %dnn", st[h_st].course[h_course], h_st + 1, h_course + 1);

}