有一个文件stu.dat存放了201个人的成绩(计算机,英语,数学)存放格式为:每一个人一行成绩间由逗号分隔。计算三门课的平均成绩,并统计成绩大于或等于90分的人数。
#include<stdio.h>
#include<stdlib.h>
#include <conio.h>
struct stu
{
int ji;
int english;
int math;
float aver;
};
int main()
{
FILE *fp;
int i,n=0;
float sum;
struct stu clas[20];
printf("请输入该班的数据:\n");
fp=fopen("D:\\stu2.dat","w");
if(fp==NULL)
{
printf("不能打开此文件,按任意键推出!");
getch();
exit(1);
}
for(i=0;i<2;i++)
{
printf("\n第%d个人的分数:\n",i+1);
printf("\n计算机:");
scanf("%d",&clas[i].ji);
printf("\n英语:");
scanf("%d",&clas[i].english);
printf("\n数学:");
scanf("%d",&clas[i].math);
clas[i].aver=(clas[i].english+clas[i].ji+clas[i].math)/3.0;
if(clas[i].aver>=90)
n++;
fprintf(fp,"%d,%d,%d,%f\n",clas[i].ji,clas[i].english,clas[i].math,clas[i].aver);
}
printf("成绩大于或等于90的人数为:%d",n);
fclose(fp);
}