仿照上面的程序,请建好一个文件名为stu你的学 号.txt。比如文件 (stu2103154.txt)提前写入你的基 本信息。一行一行地读取文件到控制台上。(截图包 括:文本文件内容,代码和运行结果)并另写一个程 序,追加输入一句:你自己的学号和爱好 基本信息具体信息如下: Name:SunZheng(自己的名字) Age: 19 Sex:male Class:3(自己的班级) 追加信息如下 number:2103154(自己的学号) Interest: swimming(自己的爱好)
时间: 2024-03-09 10:44:55 浏览: 39
抱歉,作为 AI 我无法访问您的本地文件系统,因此无法创建/读取本地文件。但是,我可以提供一个示例代码,供您参考如何读写文件:
```python
# 写入文件
with open('stu2103154.txt', 'w') as f:
f.write('Name: SunZheng\n')
f.write('Age: 19\n')
f.write('Sex: male\n')
f.write('Class: 3\n')
# 读取文件
with open('stu2103154.txt', 'r') as f:
for line in f:
print(line.strip())
# 追加信息
with open('stu2103154.txt', 'a') as f:
f.write('number: 2103154\n')
f.write('Interest: swimming\n')
```
您可以根据自己的需要修改文件名和具体内容。
相关问题
仿照上面的程序,请建好一个文件名为stu你的学号.txt。比如文件(stu2103154.txt)提前写入你的基本信息。一行一行地读取文件到控制台上。(截图包括:文本文件内容,代码和运行结果)并另写一个程序,追加输入一句:你自己的学号和爱好 基本信息具体信息如下: Name:SunZheng(自己的名字) Age:19 Sex:male Class:3(自己的班级) 追加信息如下 number:2103154(自己的学号) Interest: swimming(自己的爱好)
很抱歉,作为AI语言模型,我无法在本地进行文件操作。但是,我可以提供相关的C语言代码供您参考。您可以在本地编写并测试该代码。
读取文件代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char filename[20];
char line[200];
printf("请输入文件名:");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL) {
printf("打开文件失败!");
return 0;
}
while (fgets(line, 200, fp) != NULL) {
printf("%s", line);
}
fclose(fp);
return 0;
}
```
追加文件代码:
```c
#include <stdio.h>
int main() {
FILE *fp;
char filename[20] = "stu2103154.txt";
char line[200] = "\nnumber:2103154\tInterest: swimming";
fp = fopen(filename, "a");
if (fp == NULL) {
printf("打开文件失败!");
return 0;
}
fputs(line, fp);
fclose(fp);
printf("追加成功!");
return 0;
}
```
请注意,第二个程序中的文件名是硬编码的,如果您需要将其修改为其他学生的学号,请相应地更改文件名。
希望能对您有所帮助。
C语言 文件“stu_info1.txt”包含学生的基本信息(姓名、学号、籍贯三项),现在需要从该文件中读出信息,并依次为每位学生输入三门课程成绩,计算平均成绩,再将学生完整信息(姓名、学号、籍贯、课程 1、课程 2、课程 3、平均分)写入文件 “stu_info2.txt”并保存于磁盘上。 将文件 stu_info2.txt 中学生信息读出,按照平均分排序处理,再重新写入文件 “stu_sort.txt”并保存于磁盘上。
以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 20
#define MAX_NUM_LEN 10
#define MAX_ADDR_LEN 30
#define MAX_LINE_LEN 100
// 学生结构体
typedef struct {
char name[MAX_NAME_LEN]; // 姓名
char number[MAX_NUM_LEN]; // 学号
char address[MAX_ADDR_LEN];// 籍贯
float score1; // 成绩1
float score2; // 成绩2
float score3; // 成绩3
float average; // 平均分
} Student;
// 读取学生信息并计算平均分
void readStudentInfo(FILE *fp, Student *stu) {
fscanf(fp, "%s %s %s", stu->name, stu->number, stu->address);
printf("请输入%s的三门课程成绩:\n", stu->name);
scanf("%f %f %f", &stu->score1, &stu->score2, &stu->score3);
stu->average = (stu->score1 + stu->score2 + stu->score3) / 3.0;
}
// 将学生信息写入文件
void writeStudentInfo(FILE *fp, Student *stu) {
fprintf(fp, "%s %s %s %.2f %.2f %.2f %.2f\n", stu->name, stu->number, stu->address, stu->score1, stu->score2, stu->score3, stu->average);
}
// 比较两个学生的平均分
int cmpStudentByAverage(const void *a, const void *b) {
return ((Student *)b)->average - ((Student *)a)->average;
}
int main() {
FILE *fp1, *fp2, *fp3;
Student stu[100];
int i, n;
// 读取学生信息
fp1 = fopen("stu_info1.txt", "r");
if (fp1 == NULL) {
printf("打开文件stu_info1.txt失败\n");
return -1;
}
n = 0;
while (!feof(fp1)) {
readStudentInfo(fp1, &stu[n]);
n++;
}
fclose(fp1);
// 将学生信息写入文件stu_info2.txt
fp2 = fopen("stu_info2.txt", "w");
if (fp2 == NULL) {
printf("打开文件stu_info2.txt失败\n");
return -1;
}
for (i = 0; i < n; i++) {
writeStudentInfo(fp2, &stu[i]);
}
fclose(fp2);
// 按照平均分排序
qsort(stu, n, sizeof(Student), cmpStudentByAverage);
// 将排序后的学生信息写入文件stu_sort.txt
fp3 = fopen("stu_sort.txt", "w");
if (fp3 == NULL) {
printf("打开文件stu_sort.txt失败\n");
return -1;
}
for (i = 0; i < n; i++) {
writeStudentInfo(fp3, &stu[i]);
}
fclose(fp3);
return 0;
}
```
在运行程序之前,请确保已经创建了 `stu_info1.txt` 文件并写入了学生信息。程序会自动创建 `stu_info2.txt` 和 `stu_sort.txt` 文件,并将处理后的学生信息写入到这两个文件中。
阅读全文