有5个学生,每个学生有3门课程的成绩,从键盘输入学生数据(包括学号,姓名,3 门课程成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。
#include <stdio.h>
typedef struct {
int id;
char name[50];
float scores[3];
float average;
} Student;
int main() {
Student students[5];
FILE *file = fopen("stud.txt", "w");
if (file == NULL) {
printf("无法创建文件!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
printf("输入第%d个学生的学号、姓名和3门课程成绩:\n", i + 1);
scanf("%d %s %f %f %f", &students[i].id, students[i].name, &students[i].scores[0], &students[i].scores[1], &students[i].scores[2]);
students[i].average = (students[i].scores[0] + students[i].scores[1] + students[i].scores[2]) / 3.0;
fprintf(file, "%d %s %.2f %.2f %.2f %.2f\n", students[i].id, students[i].name, students[i].scores[0], students[i].scores[1], students[i].scores[2], students[i].average);
}
fclose(file);
printf("数据已保存到stud.txt文件中。\n");
return 0;
}