用结构体表示8名学生的学号、姓名、语文、数学、英语三门课的成绩,存放在一维数组中(数组元素为结构体),计算每门课的平均成绩,并显示。
时间: 2024-03-26 07:38:51 浏览: 69
好的,以下是示例代码:
#include <stdio.h>
struct student {
int id;
char name[20];
int chinese;
int math;
int english;
};
int main() {
struct student stu[8];
int i;
float chinese_sum = 0, math_sum = 0, english_sum = 0;
// 输入每个学生的信息
for (i = 0; i < 8; i++) {
printf("请输入第%d个学生的学号、姓名、语文、数学、英语成绩:\n", i + 1);
scanf("%d%s%d%d%d", &stu[i].id, stu[i].name, &stu[i].chinese, &stu[i].math, &stu[i].english);
chinese_sum += stu[i].chinese;
math_sum += stu[i].math;
english_sum += stu[i].english;
}
// 计算平均成绩并输出
printf("语文平均成绩:%.2f\n", chinese_sum / 8);
printf("数学平均成绩:%.2f\n", math_sum / 8);
printf("英语平均成绩:%.2f\n", english_sum / 8);
return 0;
}
这段代码中,我们先定义了一个结构体 student
,里面存放了每个学生的学号、姓名、语文、数学、英语三门课的成绩。然后在 main
函数中,定义了一个长度为 8 的结构体数组 stu
,用来存放每个学生的信息。
接着,我们通过一个循环,依次输入每个学生的信息,并累加每个科目的成绩,以便后面计算平均成绩。最后,我们输出每个科目的平均成绩。
注意,这里使用了格式化输入输出函数 scanf
和 printf
,需要包含头文件 stdio.h
。