第一小题
#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\n",&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);
printf("优秀人数:%d\n", excelent);
printf("不及格人数:%d\n", fail);
return 0;
}第二小题
#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,*fp1;
fp=fopen("english.dat","r");
fp1=fopen("statictic.dat","w");
if(fp==NULL)
{
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d\n",&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);
printf("优秀人数:%d\n", excelent);
printf("不及格人数:%d\n", fail);
fprintf(fp1,"总人数为: %d\n平均成绩为: %.2f\n优秀人数: %d\n不及格人数: %d\n",count,ave,excelent,fail);
return 0;
}第三小题
#include <stdio.h>
#include <stdlib.h>
//第三题,第三小题
int main()
{
int score; //读入的成绩
int excelent=0,good=0,mid=0,pass=0,fail=0,count=0;//分别代表优秀、不及格人数、总人数
int level,i;
double sum=0,ave; //sum: 成绩和,ave: 平均分
//以输入的方式(ios::in)打开文件
FILE *fp,*fp1;
fp=fopen("english.dat","r");
fp1=fopen("statictic.dat","w");
if(fp==NULL)
{
printf("open error!\n");
exit(1);
}
while(fscanf(fp,"%d\n",&score)!=EOF) //当读取成功……
{
count++;
sum+=score;
level=score/10;
switch(level)
{
case 10:
case 9:
excelent++;
break;
case 8:
good++;
break;
case 7:
mid++;
break;
case 6:
pass++;
break;
default:
fail++;
}
}
fclose(fp);
//下面输出结果
ave=sum/count;
printf("总人数为:%d,", count);
printf("平均成绩为:%.2f\n", ave);
printf("优秀 ");
for(i=0;i<=(excelent/100);i++)
printf("#");
printf(" %d\n",excelent);
printf("良好 ");
for(i=0;i<=(good/100);i++)
printf("#");
printf(" %d\n",good);
printf("中等 ");
for(i=0;i<=(mid/100);i++)
printf("#");
printf(" %d\n",mid);
printf("及格 ");
for(i=0;i<=(pass/100);i++)
printf("#");
printf(" %d\n",pass);
printf("挂科 ");
for(i=0;i<=(fail/100);i++)
printf("#");
printf(" %d\n",fail);
return 0;
}
616

被折叠的 条评论
为什么被折叠?



