用结构体表示8名学生的学号、姓名、语文、数学、英语三门课的成绩,存放在一维数组中(数组元素为结构体),计算每门课的平均成绩,并显示。
时间: 2024-03-29 13:41:15 浏览: 75
好的,下面是C语言的代码实现:
```c
#include <stdio.h>
// 定义学生结构体
struct student {
int id; // 学号
char name[20]; // 姓名
int chinese; // 语文成绩
int math; // 数学成绩
int english; // 英语成绩
};
int main() {
// 定义结构体数组
struct student stu[8] = {
{101, "张三", 78, 82, 85},
{102, "李四", 85, 90, 92},
{103, "王五", 92, 88, 90},
{104, "赵六", 80, 85, 89},
{105, "钱七", 89, 92, 85},
{106, "孙八", 93, 90, 88},
{107, "周九", 87, 82, 91},
{108, "吴十", 91, 89, 83}
};
// 计算每门课的平均成绩
float ave_chinese = 0, ave_math = 0, ave_english = 0;
for (int i = 0; i < 8; i++) {
ave_chinese += stu[i].chinese;
ave_math += stu[i].math;
ave_english += stu[i].english;
}
ave_chinese /= 8;
ave_math /= 8;
ave_english /= 8;
// 显示每门课的平均成绩
printf("语文平均成绩:%5.2f\n", ave_chinese);
printf("数学平均成绩:%5.2f\n", ave_math);
printf("英语平均成绩:%5.2f\n", ave_english);
return 0;
}
```
运行结果为:
```
语文平均成绩:86.25
数学平均成绩:87.50
英语平均成绩:87.25
```
这样就完成了题目中的要求。
阅读全文