C语言:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求输出每门课的平均成绩。
时间: 2023-12-15 09:41:02 浏览: 165
数据结构:定义一个包含学生信息(学号、姓名、成绩)的顺序表_数据结构
5星 · 资源好评率100%
好的,这是一个C语言的程序,实现你的需求:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
float scores[3];
};
int main() {
struct Student students[10];
float sum[3] = {0};
int i, j;
// 输入学生数据
for (i = 0; i < 10; i++) {
printf("请输入第%d个学生的学号、姓名、3门课的成绩:\n", i+1);
scanf("%d %s", &students[i].id, students[i].name);
for (j = 0; j < 3; j++) {
scanf("%f", &students[i].scores[j]);
sum[j] += students[i].scores[j];
}
}
// 计算平均成绩并输出
printf("每门课的平均成绩为:\n");
for (j = 0; j < 3; j++) {
printf("第%d门课的平均成绩为:%.2f\n", j+1, sum[j]/10);
}
return 0;
}
```
程序的思路是:定义一个结构体 `Student` 表示每个学生的数据,包括学号、姓名、3门课的成绩。定义一个数组 `students` 存储10个学生的数据。定义一个数组 `sum` 存储每门课的总成绩。通过循环输入每个学生的数据,并且计算每门课的总成绩。最后根据总成绩计算平均成绩并输出。
阅读全文