(1) 程序说明:游戏的开始由机器产生一个随机数(1~100之间,用库函数random(),用法见后面的例子程序),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:Your answer is HIGH,try again. ,否则,程序提示:Your answer is LOW,try again.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。
(2) 程序输出要求:累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“I can bet you can do it better.”;当n>=15时,用exit(0)库函数退出程序。 #include
int a,b;
scanf(\ while(1) {
b=rand();
if(b>0&&b<100) {
if(a>b)
printf(\ else printf(\ }
break; } } 6. 工资管理
(1) 设计目的:本设计要求设计一个公司职员的数据结构,并使用结构指针数组存储职员信息,统计公司员工工资总和和平均工资,目的是深入了解函数参数类型和结构之间的关系。 (2) 功能设计要求:
1) 使用结构体数组设计一个公司职员的数据结构,使用下述的结构定 义:
struct employee{ int age;
char name[20]; double salary; }
2) 在主函数里构造一个结构体数组company,用来存放职工信息。 3) 设计一个readin函数,用来输入company的值。
第6页
4) 编写total函数对工资求和。
5) 这个函数能对全体职工和某一年龄段职工的工资求和。 6) 编写mean函数求平均工资。
这个函数应该能对全体职工和大于某一年龄段的职工的工资求和并计算相应的平均值。 (3) 参考数据及规范
参考数据:
Zhao Jie 28 3558.98 Li Yang 18 2504.5 Zhang Lanhua 22 3000 Zhang Xuexi 33 3058.8 Zhou Wulan 52 2158.14 Wang Haiyang 38 2558.8 Li Shengli 24 3128.68 Li Hua 34 2958.98 Liu Pingping 20 1958.8 Pan Yufeng 18 1558.98 ? total函数应该允许输入年龄范围,如果范围不合理,应该允许重新输入。年龄应该在0~100之间。 ? mean函数能够使用缺省参数计算全体职工的工资总额和平均工资。如果输入年龄,则计算从这个年龄段算起的职工总工资和平均工资。
7. 职工档案及简明信息生成
(1) 设计目的:本设计的目的是学习结构数组及其指针的使用方法。要求使用菜单。
(2) 功能设计要求:
1)建立wkrs职工数据结构,结构含有姓名、序号、性别和年龄信息。 2)建立一个结构数组,以便放置10个职工信息。
3)设计一个readin函数,以便输入10个职工的信息。
4)编写一个display函数,要求使用结构指针作为参数,用来输出结构数组的内容。
5)建立wks职工简明数据结构,结构只含有姓名和年龄信息。
6)编制一个str函数,根据wks结构建立的职工情况,把职工姓名和年龄信息抽出来,另外建一个只含职工姓名和年龄的wkshort结构的数组。 7)编制一个delwk函数,可以从简明数据结构数组中删去指定的职工数据,如果数组里没有要删除的职工,则输出没有这个职工的信息。如果内容全部删除,应该给出内容已空的提示信息。
8)用一个简单的菜单提供上述操作。菜单信息为:
? 输入数据(Input Data) ? 显示原始数据(Display Data) ? 制作简明数据(Make Simpler Data) ? 删除简明数据(Delete Simpler Data) ? 结束(Goodbye!)
第7页
(3) 参考数据及规范
参考数据:
序号(id) 姓名(name) 性别(gender) 年龄(age) 0100 Li Shengli 男(male) 24 0101 Li Yang 女(female) 18 0102 Zhang Lanhua 女 22 0103 Zhao Jie 男 28 0104 Zhang Xuexi 男 33 0105 Zhou Wulan 女 52 0106 Wang Haiyang 男 38 0107 Li Hua 女 34 0108 Liu Pingping 女 28 0109 Pan Yufeng 男 18 菜单选择: ? 选择1,输入10个职工的数据。输入完成后,程序给出结束信息,然后返回到主菜单。 ? 选择2,显示建立的信息。 ? 选择3,则建立简明信息结构数组,自动输出如下信息: 姓名(name) 年龄(age) Li Shengli 24 Li Yang 18
?? ??(省略) ? 选择4,进入删除菜单。输入“0”,退出删除操作。删除完显示删除后的数据内容。
8. 学生成绩管理程序
有N(N >= 10)个学生的数据信息,每个包含: 学号 — num [10](字符串) 姓名(拼音)— name[25](字符串) 性别 — sex(字符,M或F) 年龄 — age(整型)
三门课程成绩(高数、英语、计算机)— score [3 ](单精度)。 设计一个系统,完成下列功能: (1) 定义及输出。用结构体类型数据及其赋初值的方法把学生的数据送到结构体数组中(第一个数据用自己的真实数据,其它数据自定,但注意要是合法数据),然后把它们输出显示。 (2) 计算并排序。计算每个学生三门课程的总分(sum,单精度)及平均分(aver,单精度,输出一位小数),将包括所有数据的结构体数组元素按总分从大到小的顺序排序打印出来。 (3) 查找。任意输入一位学生的姓名,打印出他的所有数据。要求能多次查找。 课程设计的要求与数据
? 编程时,设计函数来完成每个功能,通过main 函数调用各函数。
第8页
? 程序中的输入输出要加提示说明。
? 打印出的程序清单,在各行后用中文加以说明。 ? 输出的结果要准确、清晰、美观。
9. 设计一个运动会管理系统 实现以下功能:
(1) 初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数;各项目名次取法有如下几种: ① 取前6名:第1名得分 7,第2名得分 5,第3名得分4,第4名得分3,第5名得分2,第5名得分1;② 取前3名:第1名得分 5,第2名得分 3,第3名得分2; ③ 用户自定义:各名次权值由用户指定;
(2) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息;
(3) 所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。
10. 销售管理系统
(1) 某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容: 销售员的代号,产品的代号,这种产品的当天的销售额;每位销售员每天可能上缴0-5张便条。完成以下功能: (2) 计算上个月每个人每种产品的销售额。
(3) 按销售额对销售员进行排序,输出排序结果(销售员代号)
(4) 统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果需输出产品的代号和销售额) (5) 输出统计报表(如下图所示)
销售统计报表
产品代号 销售之和 销售员代号 1 2 3 4 5 1 2 3 4
每种产品之和 总和 11.小学生测验
面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。 功能要求:
(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;
(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;
第9页
(5)总成绩90以上显示“SMART” ,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN” 12,工资纳税系统
个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。个人所得税税率表一(工资、薪金所得适用) 级数----------全月应纳税所得额----------税率(%) 1--------------不超过500元的--------------------------5 2----------超过500元至2000元的部分------------10 3----------超过2000元至5000元的部分----------15 4----------超过5000元至20000元的部分---------20 5----------超过20000元至40000元的部分-------25 6----------超过40000元至60000元的部分-------30 7----------超过60000元至80000元的部分-------35 8----------超过80000元至100000元的部分------40 9----------超过100000元的部分---------------------45
表中的应纳税所得额是指以每月收入额减除1600元后的余额。 例如:计算为:2500-1600=900 应纳个人所得税额=500×5%+400×10% =65 再比如:我们用一个大额工资计算,25000元 应纳税所得额=25000-1600=23400 应纳个人所得税税额=500×5%+1500×10%+3000×15%+15000×20%+3400×25%=4475 要求:输入工资计算出纳税金额。
13. 用英文单词模拟数学计算
读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。 具体的输入输出格式规定如下:
输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为 \ + B = \,相邻两字符串有一个空格间隔。当A和B同时为zero时输入结束,相应的结果不要输出。
输出格式:对每个测试用例输出1行,即A+B的值。
输入样例:
one + two =
three four + five six = zero seven + eight nine = zero + zero =
输出样例: three
nine zero nine six
第10页