第1个回答 2015-05-22
您好,这样:
#include <stdio.h>
#include <malloc.h>
#define N 5
struct stu
{
int num;
char name[6];
int scores[3];
};
main()
{
int i,j;
double sum[N]={0};
struct stu Node[N],Node2[N];
FILE *fp;
fp=fopen("1.txt","w");//写入
for(i=0;i<N;i++)
{
printf("请输入第%d个人的编号和姓名:\n",i+1);
scanf("%d",&Node[i].num);
scanf("%s",Node[i].name);
printf("请输入第%d个人三门课成绩:\n",i+1);
for(j=0;j<3;j++)
{
scanf("%d",&Node[i].scores[j]);
sum[i]+=Node[i].scores[j];
}
sum[i]/=3;//求平均分
fprintf(fp,"%d %s %d %d %d %lf\n",Node[i].num,Node[i].name,Node[i].scores[0],Node[i].scores[1],Node[i].scores[2],sum[i]);
}
fclose(fp);
fp=fopen("1.txt","r");
for(i=0;i<N;i++)
{
fscanf(fp,"%d%s%d%d%d%lf\n",&Node2[i].num,Node2[i].name,&Node2[i].scores[0],&Node2[i].scores[1],&Node2[i].scores[2],&sum[i]);
printf("%d %s %d %d %d %lf\n",Node2[i].num,Node2[i].name,Node2[i].scores[0],Node2[i].scores[1],Node2[i].scores[2],sum[i]);
}
}本回答被网友采纳