这道题目要求从键盘输入五个学生的学号、姓名、三门课的成绩、平均分。要求从键盘输入3个学生的学号、姓名、三门课的成绩,自动计算三门课的平均分数,并输出3个学生的数据。定义结构体student,包括四个成员,其中num表示学号,name[20]表示姓名,Score[3]表示成绩,avg表示平均成绩
时间: 2024-01-07 14:02:36 浏览: 25
好的,这是一道关于结构体的题目,我可以帮助你解答。
首先,我们需要定义一个结构体 `student`,包含四个成员变量:学号 `num`、姓名 `name`、三门课的成绩 `score` 和平均成绩 `avg`。
```c
struct student {
int num; // 学号
char name[20]; // 姓名
float score[3]; // 三门课成绩
float avg; // 平均成绩
};
```
接下来,我们需要从键盘输入五个学生的信息,包括学号、姓名和三门课的成绩,然后计算每个学生的平均成绩。可以使用一个循环来输入五个学生的信息,然后在循环内部计算平均成绩。
```c
int main() {
struct student stu[5]; // 定义五个学生的结构体数组
// 循环输入五个学生的信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号、姓名和三门课的成绩:\n", i+1);
scanf("%d%s%f%f%f", &stu[i].num, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
// 计算平均成绩
stu[i].avg = (stu[i].score[0] + stu[i].score[1] + stu[i].score[2]) / 3.0;
}
// 输出五个学生的信息
printf("五个学生的信息如下:\n");
for (int i = 0; i < 5; i++) {
printf("学号:%d,姓名:%s,成绩:%5.1f %5.1f %5.1f,平均成绩:%5.1f\n",
stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2], stu[i].avg);
}
return 0;
}
```
最后,我们需要从键盘输入3个学生的信息,计算每个学生的平均成绩,并输出这3个学生的信息。可以在 `main` 函数的末尾,再写一个循环,输入3个学生的信息,计算平均成绩,然后输出这3个学生的信息。
完整代码如下: