C语言输入10个学生学号姓名成绩文件中

做完后加分最好解析一下

第1个回答  2015-02-17

#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分

本回答被提问者采纳
相似回答