任务和代码:
/*
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.10.4
*版本号:v2.
*
*问题描述:文件english.dat(这个文件中的数据量,超出了你之前所有的体验)中已经有了学生的英语考试成绩数据。
编程从english.dat中读取数据
*问题输出:(1)求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。
*/
#include <stdio.h>
#include <stdlib.h>
int main(){
int score; //读入的成绩
int excelent=0, fail=0,count=0;//分别代表优秀、不及格人数、总人数
double sum=0,ave; //sum: 成绩和,ave: 平均分
//以输入的方式(ios::in)打开文件
FILE *fp;
fp=fopen("english.dat","r");
if(fp==NULL){
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d",&score)!=EOF){ //当读取成功……
count++;
sum+=score;
if(score>=90)
excelent++;
else if(score<60)
fail++;
}
fclose(fp);
//下面输出结果
ave=sum/count;
printf("总人数为:%d\n", count);
printf("平均成绩为:%.2f\n", ave);
return 0;
}
运行结果:
/*
*All rights reserved
*文件名称:main.c
*作者: Osseyda
完成日期:2017.10.4
*版本号:v2.
*
*问题描述:文件