c语言编写程序:有五个学生,每个学生有 3 门课的成绩,编写程序,从键盘输入以上数 据(包括学号,姓名,三门课的成绩),计算出平均成绩,将原有数据和计算出的平均分数 存放在磁盘文件 stu 中。
时间: 2024-01-03 08:04:01 浏览: 155
c代码-编程实现:输入10个学生的6门课成绩,分别求出每个学生的平均成绩。
5星 · 资源好评率100%
好的,以下是 C 语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义学生结构体类型
struct Student {
char id[10];
char name[20];
float scores[3];
float avg_score;
};
int main() {
int i, j;
struct Student stu[5]; // 定义学生结构体数组
// 从键盘输入学生信息
for (i = 0; i < 5; i++) {
printf("请输入第 %d 个学生的学号:", i + 1);
scanf("%s", stu[i].id);
printf("请输入第 %d 个学生的姓名:", i + 1);
scanf("%s", stu[i].name);
printf("请输入第 %d 个学生的三门课成绩:", i + 1);
for (j = 0; j < 3; j++) {
scanf("%f", &stu[i].scores[j]);
}
// 计算平均成绩
stu[i].avg_score = (stu[i].scores[0] + stu[i].scores[1] + stu[i].scores[2]) / 3.0;
}
// 将学生信息写入文件
FILE *fp;
fp = fopen("stu.txt", "w");
if (fp == NULL) {
printf("无法打开文件!");
exit(1);
}
fprintf(fp, "学号\t姓名\t课程1\t课程2\t课程3\t平均分\n");
for (i = 0; i < 5; i++) {
fprintf(fp, "%s\t%s\t%.1f\t%.1f\t%.1f\t%.1f\n", stu[i].id, stu[i].name, stu[i].scores[0], stu[i].scores[1], stu[i].scores[2], stu[i].avg_score);
}
fclose(fp);
printf("学生信息已成功保存到 stu.txt 文件中!\n");
return 0;
}
```
运行程序后,按照提示输入学生信息即可将数据保存到 stu.txt 文件中。需要注意的是,在写入文件时,可以使用 fprintf() 函数按照一定格式输出学生信息。
阅读全文