1、课程设计报告课程设计报告统计数字统计数字 【问题描述】 某次科研调查时得到了 n 个自然数,每个数均不超过 1500000000(1.5*109)。已知不 相同的数不超过 10000 个, 现在需要统计这些自然数各自出现的次数, 并按照自然数从小到 大的顺序输出统计结果。 【设计需求及分析】 (1) 用一维数组存储调查得到的 n 个自然数,原始数据保存在文件 count.in, 第一行输入自然数个数,2-n+1 输入自然数。结果保存在 count.out 中。 (2) 用冒泡法对 n 个自然数进行排序,分别统计不同的自然数个数。 【设计功能的实现】 #include #include void
2、 main() float a100,t; int i,n,j,sum; freopen(“count.in.txt“,“r“,stdin);/原始数据保存在 count.in 中 freopen(“count.out.txt“,“w“,stdout);/输出结果保存在 count.out 中 scanf(“%d“, for(i=0;i80),并且在本学期内发表 1 篇或 1 篇以上论文的学生均可获得; 2) 五四奖学金,每人 4000 元,期末平均成绩高于 85 分(85),并且班级评议成绩高 于 80 分(80)的学生均可获得; 3) 成绩优秀奖,每人 2000 元,期末平均成绩高于 90
3、 分(90)的学生均可获得; 4) 西部奖学金,每人 1000 元,期末平均成绩高于 85 分(85)的西部省份学生均可获 得; 5) 班级贡献奖,每人 850 元,班级评议成绩高于 80 分(80)的学生干部均可获得; 只要符合条件就可以得奖, 每项奖学金的获奖人数没有限制, 每名学生也可以同时获得 多项奖学金。例如姚林的期末平均成绩是 87 分,班级评议成绩 82 分,同时他还是一位学生 干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是 4850 元。 【设计需求及分析】 (1) 定义结构体类型,用结构体申明一个结构体数组用于存储学生信息。 (2) 在循环输入数据的同时,分别计算
4、每个同学应得奖学金数和总的奖学 金数分别存在 sum 数组中和 add 变量中。 (3) 申明变量 max,依次与每个同学应得奖学金比较,存储获得奖学金最 多学生姓名和奖学金数。 【设计功能的实现】 #include void main() struct Student char name20; int grade1; int grade2; char ganbu; char xibu; int title; a100;/定义结构体,同时申明一个结构体数组用于存储学生信息。 int N; scanf(“%d“, int i; int sum100=0; int add=0; for(i=0;i80 if(ai.grade185 if(ai.grade190) sumi+=2000; if(ai.grade185 if(ai.grade280 add+=sumi; /分别输入学生信息,同时根据学生情况计算学生应得的奖学金数和总的奖学 金数。 int j; int t=0; int max=sum0