1.有5个学生,每个学生有3门课的成绩,从键盘输入以下数据(包括学生号,姓名,
三门课成绩),计算出每门课程的班级平均成绩,并将学生数据和班级平均分存放在磁盘
文件“stud. txt"中。
#include<stdio.h>
int main()
{
FILE*fp;
struct s
{int num;
char name[10];
float g[3]
}a[5];
int i;
float sum=0,sum2=0,sum3=0;
for(i=0;i<5;i++)
{
printf("请分别输入学生成绩\n");
scanf("%d %s %f %f %f",&a[i].num,&a[i].name,&a[i].g[0],&a[i].g[1],&a[i].g[2]);
}
if((fp=fopen("stud.txt","w"))==NULL)//写入文件
{
printf("cannot open stud.txt\n");
exit(0);
}
for(i=0;i<5;i++)
{sum=sum+a[i].g[0];
sum2=sum2+a[i].g[1];
sum3=sum3+a[i].g[2];
}
fp=fopen("stud.txt","w");
for(i=0;i<5;i++)
{ fprintf(fp,"%d %s %.2f %.2f %.2f\n",a[i].num,a[i].name,a[i].g[0],a[i].g[1],a[i].g[2]);
}
fprintf(fp,"The first everage grade is%.2f\n",sum/5);
fprintf(fp,"The second everage grade is%.2f\n",sum2/5);
fprintf(fp,"The third everage grade is%.2f\n",sum3/5);
fclose(fp);
return 0;
}
注意文件指针的使用;
注意数据类型要一致;
生成的txt文件在C程序的同一文件夹里。