第43讲--项目三--成绩统计
2015-05-30 20:16
351 查看
任务和代码1
运行结果
任务和代码2
运行结果
任务和代码3
运行结果
/* *Copyright (c)2015,CSDN学院 *All rights reserved. *文件名称:main.c *作 者:胡先军 *完成日期:2015年5月30日 *版 本 号:v1.0 * *问题描述:请编程从english.dat中读取数据,求出这次考试的平均 *成绩,并统计输出优秀人数和不及格人数。请在下面程序基础上填空完成: *程序输出:统计结果 */ #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>80) 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; }
运行结果
任务和代码2
/* *Copyright (c)2015,CSDN学院 *All rights reserved. *文件名称:main.c *作 者:胡先军 *完成日期:2015年5月30日 *版 本 号:v1.0 * *问题描述:扩充上面的程序,要求将统计结果保存到数据文件statictic.dat中(提示:要用fprintf写入文件了) *程序输出:生成一个新文件 */ #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"); if(fp==NULL) { printf("open error!\n"); exit(1); } while(fscanf(fp,"%d",&score)!=EOF) //当读取成功…… { count++; sum+=score; if(score>80) excelent++; else if(score<60) fail++; } fclose(fp); //下面输出结果 ave=sum/count; fp1=fopen("staticitc.dat","w"); fprintf(fp1,"总人数为:%d\n",count); fprintf(fp1,"平均成绩为:%.2f\n", ave); fprintf(fp1,"优秀人数:%d\n", excelent); fprintf(fp1,"不及格人数:%d\n", fail); fclose(fp1); printf("总人数为:%d\n", count); printf("平均成绩为:%.2f\n", ave); printf("优秀人数:%d\n", excelent); printf("不及格人数:%d\n", fail); return 0; }
运行结果
任务和代码3
/* *Copyright (c)2015,CSDN学院 *All rights reserved. *文件名称:main.c *作 者:胡先军 *完成日期:2015年5月30日 *版 本 号:v1.0 * *问题描述:(用柱状图输出)编程序,求出这次考试的平均成绩, *并统计各分数段的人数(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)。 *程序输出:统计结果 */ #include <stdio.h> #include <stdlib.h> int main() { int score,i; //读入的成绩 int a; int excelent=0, fail=0,count=0,good=0,medium=0,pass=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>=80) good++; else if(score>=70) medium++; else if(score>=60) pass++; else if(score<60) fail++; } fclose(fp); //下面输出结果 ave=sum/count; printf("平均成绩为:%.2f\n", ave); a=(float)excelent/(float)count*100+0.5; printf("优秀人数:"); for(i=1;i<=a;i++) { printf("#"); } printf("%d\n",excelent); a=(float)good/(float)count*100+0.5; printf("良好人数:"); for(i=1;i<=a;i++) { printf("#"); } printf("%d\n",good); a=(float)medium/(float)count*100+0.5; printf("中等人数:"); for(i=1;i<=a;i++) { printf("#"); } printf("%d\n",medium); a=(float)pass/(float)count*100+0.5; printf("及格人数:"); for(i=1;i<=a;i++) { printf("#"); } printf("%d\n",pass); a=(float)fail/(float)count*100+0.5; printf("不及格人数:"); for(i=1;i<=a;i++) { printf("#"); } printf("%d\n",fail); return 0; }
运行结果
相关文章推荐
- 2015百度之星资格赛--1005 下棋【双向BFS/找规律】
- 旋转卡壳总结
- css3 动画之 2D旋转 3D旋转 放大
- 数据预处理和weka.filters的使用
- 一篇文章读懂开源web引擎Crosswalk
- Mac下执行php遇到Allowed memory size of 134217728 bytes exhausted问题解决方法
- ubantu下如何完全彻底卸载mysql
- 十二周总结
- 如何在Windows下给Vim安装YouCompleteMe
- JavaBean在Java Web中访问范围总结
- 解决Xcode断点调试值都为nil的问题
- 为什么选择Scala,它在大数据处理方面有何优势?
- [LeetCode][JavaScript]3Sum
- DFS&Iteration Binary Tree Inorder Traversal
- 试验如何通过审核Google AdSense——我跟谷歌ads杠上啦
- POJ 2142 扩展欧几里得
- 技术研究(发明)的途径及其手段概述-1
- c++中友元机制
- Project Euler:Problem 12 Highly divisible triangular number
- Python Template 错误