#include<stdio.h>
#include<stdlib.h>
#define N 10
struct student
{
char sno[20];
int math;
int English;
int chinese;
int sum;
double avg;
};
void save(struct student*a)
{
int i,s=0;
FILE*fp;
for(i=0;i<N;i++)
{ a[i].sum=0;
scanf("%s%d%d%d",a[i].sno,&a[i].math,&a[i].English,&a[i].chinese);
a[i].sum+=a[i].chinese+a[i].English+a[i].math;
a[i].avg=1.0*a[i].sum/3;
}
for(i=0;i<N;i++)
printf("%s %d %d %d %.2lf %d\n",a[i].sno,a[i].math,a[i].English,a[i].chinese,a[i].avg,a[i].sum);
fp=fopen("stu.dat","w");
for(i=0;i<N;i++)
fprintf(fp,"%s %d %d %d %.2lf\n",a[i].sno,a[i].math,a[i].English,a[i].chinese,a[i].avg,a[i].sum );
fclose(fp);
}
int main()
{
struct student s[N];
save(s);
return 0;
}//调试的时候我把数字N设小了
追问回答太辛苦加50分
本回答被提问者采纳