用C语言编程,利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。
时间: 2024-02-24 20:59:04 浏览: 70
好的,我可以回答你的问题。
首先,你需要使用C语言中的文件操作函数来创建、打开、读取和写入文件。以下是一个简单的示例代码,可以实现创建一个数据文件并写入学生信息:
```c
#include <stdio.h>
struct student {
int id; // 学号
char name[50]; // 姓名
float eng; // 英语成绩
float math; // 数学成绩
float comp; // 计算机成绩
};
int main() {
int n, i;
printf("请输入学生人数:");
scanf("%d", &n);
struct student stu[n];
// 读入学生信息
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
printf("学号:");
scanf("%d", &stu[i].id);
printf("姓名:");
scanf("%s", stu[i].name);
printf("英语成绩:");
scanf("%f", &stu[i].eng);
printf("数学成绩:");
scanf("%f", &stu[i].math);
printf("计算机成绩:");
scanf("%f", &stu[i].comp);
}
// 创建文件并写入学生信息
FILE *fp;
fp = fopen("students.txt", "w");
if (fp == NULL) {
printf("文件创建失败!\n");
return 1;
}
for (i = 0; i < n; i++) {
fprintf(fp, "%d %s %.2f %.2f %.2f\n", stu[i].id, stu[i].name, stu[i].eng, stu[i].math, stu[i].comp);
}
fclose(fp);
printf("文件创建成功!\n");
return 0;
}
```
在上面的代码中,我们首先读入学生人数n,然后定义一个结构体类型student来存储每个学生的信息。接着,我们使用for循环读入每个学生的信息,并将其存储在一个结构体数组中。最后,我们使用fopen函数创建一个名为students.txt的文件,并使用fprintf函数将每个学生的信息写入文件中。注意,我们使用了%.2f来保留浮点数的小数点后两位。
当然,你可以根据实际需求修改上述代码。这只是一个简单的示例,帮助你了解如何使用C语言来创建数据文件。
阅读全文