简单啊,可以写给你
运行截图:

文件内容:

#include<stdio.h>
#define N 3
typedef struct Student{
long long int id;
char name[20];
float chinese;
float math;
float english;
float avg;
}Student;
Student student[N];
Student student1[N];
/**控制台录入信息*/
void insert(Student student[N])
{
int i;
for(i=0;i<N;i++)
{
printf("请输入第%d位学生的信息:\n",i+1);
scanf("%lld %s %f %f %f",&student[i].id,student[i].name,&student[i].chinese,&student[i].math,&student[i].english);
student[i].avg=(student[i].chinese+student[i].math+student[i].english)/(N*1.0);
}
}
/**信息存储到stud.txt文件*/
void ctrl_s(Student student[N])
{
FILE*f;
int i;
f=fopen("stud.txt","w");
for(i=0;i<N;i++)
{
fprintf(f,"%lld\t%s\t%f\t%f\t%f\t%f\n",
student[i].id,student[i].name,student[i].chinese,student[i].math,student[i].english,student[i].avg);
}
fclose(f);
}
void print(Student student1[N])
{
FILE*f;
int i;
f=fopen("stud.txt","r");
if(f==NULL){printf("文件打开失败!\n");}
else
{
for(i=0;i<N;i++)
{
fscanf(f,"%lld\t%s\t%f\t%f\t%f\t%f\n",
&student1[i].id,student1[i].name,&student1[i].chinese,&student1[i].math,&student1[i].english,&student1[i].avg);
}
for(i=0;i<N;i++)
{
printf("学号:%lld 姓名:%s 语文:%.2f 数学:%.2f 英语:%.2f 平均分:%.2f\n",
student1[i].id,student1[i].name,student1[i].chinese,student1[i].math,student1[i].english,student1[i].avg);
}
}
fclose(f);
}
int main()
{
insert(student);
ctrl_s(student);
printf("学生信息如下:\n");
print(student1);
return 0;
}