有5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均成绩存放在磁盘文件stud中。
时间: 2023-04-29 17:05:56 浏览: 81
这段文字描述了一组学生成绩数据,每个学生有3门课程的成绩。数据以二进制形式存储在文件"stud"中,每个数据包括学号、姓名和3门课程的成绩。需要计算每个学生的平均成绩,并将原有数据和计算出的平均成绩存储在磁盘文件中。
相关问题
C语言 有五个学生,每个学生的数据包括学号、姓名、3门课程的成绩,从键盘输入5个学生数据,要求输出3门课程总平均成绩
以下是示例代码:
```
#include <stdio.h>
struct student {
int num;
char name[20];
int score[3];
};
int main() {
struct student stu[5];
int i, j;
float sum, avg;
for (i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号:", i + 1);
scanf("%d", &stu[i].num);
printf("请输入第%d个学生的姓名:", i + 1);
scanf("%s", stu[i].name);
for (j = 0; j < 3; j++) {
printf("请输入第%d个学生的第%d门课成绩:", i + 1, j + 1);
scanf("%d", &stu[i].score[j]);
}
}
for (j = 0; j < 3; j++) {
sum = 0;
for (i = 0; i < 5; i++) {
sum += stu[i].score[j];
}
avg = sum / 5;
printf("第%d门课的平均分是:%.2f\n", j + 1, avg);
}
return 0;
}
```
这段代码实现了从键盘输入5个学生数据,然后计算3门课程的总平均成绩并输出。
C语言:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩。从键盘输入10个学生数据,要求输出每门课的平均成绩。
好的,这是一个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` 存储每门课的总成绩。通过循环输入每个学生的数据,并且计算每门课的总成绩。最后根据总成绩计算平均成绩并输出。