用结构体表示8名学生的学号、姓名、语文、数学、英语三门课的成绩,存放在一维数组中(数组元素为结构体),计算每门课的平均成绩,并显示。
时间: 2024-03-26 15:38:59 浏览: 76
可以按照如下方式定义一个包含 8 个学生信息的结构体数组,每个结构体包含学号、姓名、语文、数学、英语成绩:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
float chinese;
float math;
float english;
};
int main() {
struct Student students[8] = {
{1, "张三", 80.0, 90.0, 70.0},
{2, "李四", 85.0, 75.0, 90.0},
{3, "王五", 60.0, 70.0, 80.0},
{4, "赵六", 70.0, 60.0, 75.0},
{5, "钱七", 90.0, 85.0, 80.0},
{6, "孙八", 65.0, 80.0, 70.0},
{7, "周九", 90.0, 70.0, 85.0},
{8, "吴十", 80.0, 75.0, 90.0}
};
float chinese_total = 0.0, math_total = 0.0, english_total = 0.0;
for (int i = 0; i < 8; i++) {
chinese_total += students[i].chinese;
math_total += students[i].math;
english_total += students[i].english;
}
float chinese_avg = chinese_total / 8.0;
float math_avg = math_total / 8.0;
float english_avg = english_total / 8.0;
printf("语文平均成绩:%.2f\n", chinese_avg);
printf("数学平均成绩:%.2f\n", math_avg);
printf("英语平均成绩:%.2f\n", english_avg);
return 0;
}
```
在 main 函数中,定义了一个包含 8 个学生信息的结构体数组,然后使用 for 循环遍历所有学生,累加每门课的成绩,最后求出每门课的平均成绩。最终使用 printf 函数将每门课的平均成绩输出。
阅读全文