已知数据文件student.txt中存放了五个学生的信息 姓名 数学 英语 计算机成绩(要求通过写方式打开创建该文件);读文件,计算每个学生成绩的平均值,最后将学生数据写入out.txt文件中去。用C语言写
时间: 2024-06-10 14:05:06 浏览: 12
好的,我可以为您解答这个问题。
以下是代码:
#include <stdio.h>
typedef struct {
char name[20];
float math;
float english;
float computer;
float average;
} Student;
int main() {
FILE *fp1, *fp2;
fp1 = fopen("student.txt", "w"); // 创建并打开 student.txt 文件
fprintf(fp1, "Tom 89 95 78\n"); // 写入示例数据
fprintf(fp1, "Jerry 75 82 91\n"); // 写入示例数据
fprintf(fp1, "Mike 91 84 76\n"); // 写入示例数据
fprintf(fp1, "Lisa 78 88 92\n"); // 写入示例数据
fprintf(fp1, "Lucy 86 90 80\n"); // 写入示例数据
fclose(fp1); // 关闭 student.txt 文件
fp1 = fopen("student.txt", "r"); // 打开 student.txt 文件以供读取
fp2 = fopen("out.txt", "w"); // 创建并打开 out.txt 文件以供写入
Student student[5]; // 定义一个长度为 5 的学生数组
for (int i = 0; i < 5; i++) {
fscanf(fp1, "%s%f%f%f", student[i].name, &student[i].math, &student[i].english, &student[i].computer); // 从 student.txt 中读取学生信息
student[i].average = (student[i].math + student[i].english + student[i].computer) / 3; // 计算学生的平均成绩
fprintf(fp2, "%s %.2f %.2f %.2f %.2f\n", student[i].name, student[i].math, student[i].english, student[i].computer, student[i].average); // 将学生信息写入 out.txt 中
}
fclose(fp1); // 关闭 student.txt 文件
fclose(fp2); // 关闭 out.txt 文件
return 0;
}
希望这可以解决您的问题。如果还有其他问题,请随时提出。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)