版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
T30741T7418A1123A122ss12963016307R123E122IF852?U52?6122H±127418D418E122E112wN40V7T41asA112s13074R112FT29630AsFBu2?G30uH123HD18529DE122Eww6T-07E30741E121123^7418E122U123185291227418122£367122_b296112T4185ft112G15296R112Fu4185H112TD3G74圧112E29630u123I3074丄B1123Fu2?639n12312274181225296N29630N112012306207N1220n4185112N18524-o12263071224185N18529N112u122UsT30741T7418A1123A122ss12963016307R123E122IF852?U52?6122H±127418D418E122E112wN40V7T41asA112s13074R112FT29630AsFBu2?G30uH123HD18529DE122Eww6T-07E30741E121123^7418E122U123185291227418122£367122_b296112T4185ft112G15296R112Fu4185H112TD3G74圧112E29630u123I3074丄B1123Fu2?639n12312274181225296N29630N112012306207N1220n4185112N18524-o12263071224185N18529N112u122Us5296NH2U530741H1123Us7418127-52961121112DT30741T7418FA1123A122assT63_H7A122sT3074H112sT18529As12211201296301630?eR123k122IFF15296R112129630K12374181224185112CU18-S29U5296H122H112TleT
nD
一一FEU41S5H112ru1s529H122_b30?127-u3074u112rE
TJMo7418D4185122E1121■6T-07E3074122U112T5296N2963u2o12D30741DIE1123^E29G30Eu123UTTN丄8529No1220MH4185N18529N7418N112U122U122Usss741812263071224111825FED52961124185112D29630FE1231■E18529u12230741N11230741812229630N123Us£132027《C卄程序设计》课程设计选题选题说明:(1) 学号后两位除以5得余数n可以在尾数为n或n+5的题目中任选一题;(2) 部分题目可以组队完成,限2-3人,队员中只要有一位同学的学号尾数满足(1)所规定的规律即可。第一类题目应用类:题目1:年历显示(可组队)(1) 输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。(2) 输入年月,输出该月的日历。(3) 输入年月日,输出距今天还有多少天,星期几,是否是公历节日。Pressanykeytoquit.■・题目2:小学生测验(可组队)面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:电脑随机出10道题,每题10分,程序结束时显示学生得分;确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”80-90显示“GOOD”70-80显示“OK”60-70显示“PASS”60以下“TRYAGAIN”。题目3:输出九九乘法口诀输出九九乘法口决表(循环结构的应用,表的格式自己设定)题目4:运动会比赛计分系统(可组队)要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数各项目名次取法有如下几种:取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2;功能要求:(1)系统以菜单方式工作(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩(4)查看参赛学校信息和比赛项目信息等。题目5:学生学籍管理系统(可组队)用数据文件存放学生的学籍,可对学生学籍进行注册,登录,修改,删除,查找,统计,学籍变化等操作。功能要求:(1)系统以菜单方式工作。(2)登记学生的学号,姓名,性别,年龄,籍贯,系别,专业,班级;修改已知学号的学生信息;(3)删除已知学号的学生信息;(4)查找已知学号的学生信息;(5)按学号,专业输出学生籍贯表。(6)查询学生学籍变化,比如入学,转专业,退学,降级,休学,毕业。题目6:排班系统(可组队)学校实验楼有7名保安人员:钱、赵、孙、李、周、吴、陈。由于工作需要进行轮休制度,一星期中每人休息一天。预先让每一个人选择自己认为合适的休息日。请编制程序,打印轮休的所有可能方案。当然使每个人都满意,例如每人选择的休息日如下:钱:星期一、星期六赵:星期二、星期四孙:星期三、星期日李:星期五周:星期一、星期四、星期六吴:星期二、星期五陈:星期三、星期六、星期日运行结果:Solution:1赵钱孙李周吴陈星期四星期一星期三星期五星期六星期二星期日Solution:2赵钱孙李周吴陈星期四星期一星期日星期五星期六星期二星期三Solution:3赵钱孙李周吴陈星期四星期六星期三星期五星期一星期二星期日Solution:4赵钱孙李周吴陈星期四星期六星期日星期五星期一星期二星期三题目7:通讯录管理系统(可组队)设计一个实用的小型通讯录程序,具有添加,查询和删除功能。由姓名,籍贯,电话号码1,电话号码2,电子邮箱组成,姓名可以由字符和数字混合编码。电话号码可由字符和数字组成。实现功能:(1)系统以菜单方式工作(2)信息录入功能(3)信息浏览功能(4)信息查询功能(5)信息修改功能(6)系统退出功能题目8:学生选课系统(可组队)假定有n门课程,每门课程有课程编号,课程名称,课程性质,学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于15)自由选课。试设计一个选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2) 课程信息和学生选课信息录入功能(课程信息用文件保存)(3) 课程信息浏览功能(4) 查询功能(5) 按学分查询(6) 某门课程学生选修情况(可选项)题目9:学生考勤系统(可组队)学生考勤系统应包含各班学生的全部信息。每个学生是一条记录,包括姓名、性别、学号、出勤情况等。本系统可模拟考勤过程,记录考勤结果,并能够在课程结束后按照设定的考勤评分标准自动给出每个学生的考勤分数。分步实施:1、 初步完成总体设计,搭好框架,确定人机对话界面,确定函数个数;2、 最低要求:建立一个文件,包括同一个班的10个学生的必要信息,能对文件进行补充、修订、删除。3、 进一步要求:完成包括至少4个班的考勤系统。要求:1、 用C++实现系统;2、 函数功能要划分好(结构化程序设计);3、 界面友好(良好的人机交互),加必要的注释;4、要提供程序测试方案,程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。题目10:机房收费管理系统(可组队)(1) 输入功能:输入30名学生的学号、班级、姓名、上机起始时间。(2) 计算功能:计算每个下机学生的上机费用,每小时1元。(上机费用=上机时间*1.0/h,不足一小时按一小时计算)(3) 查询功能:按条件(班级、学号、姓名)显示学生的上机时间。(4) 机器使用情况的显示(显示方式不限但要一目了然)题目11:歌手比赛系统(可组队)对一次歌手比赛的成绩进行管理,功能要求:1、输入每个选手的数据包括编号、姓名、十个评委的成绩,根据输入计算出总成绩和平均成绩(去掉最高分,去掉最低分)。2、显示主菜单如下:1)输入选手数据2)评委打分3)成绩排序(按平均分)4)数据查询5)追加学生数据6)写入数据文件7)退出系统。题目12:成绩排序假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0S100之间的整数),通过调用该函数生成全部学生的成绩;⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;题目13:班级成绩管理系统(可组队)对一个有N个学生的班级,每个学生有M门课程。该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。功能要求:(1) 本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓名、M门课程名称。(2) 本系统显示这样的菜单:请选择系统功能项:a、 成绩录入b、 成绩显示c、 成绩保存d、 成绩排序e、 成绩修改(要求先输入密码)f、 成绩统计1) 显示每门课程成绩最高的学生的基本信息2) 显示每门课程的平均成绩3) 显示超过某门课程平均成绩的学生人数g、 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生成绩保存到文件中。题目14:运动会管理系统(可组队)校际运动会管理系统。设有n个学校参加校际运动会,共有男子竞赛项目数m,女子竞赛项目数w。每个学校可以参加所有竞赛项目,也可以只参加部分竞赛项目,每个学校对每个项目的参赛运动员不能超过4人,每个运动员最多只能参加3项单项比赛,团体赛不受限制。各项目名次取法有如下几种:用户自定义:(各名次权值由用户指定)①参赛人数超过6人,取前5名:第1名得分7,第2名得分5,第3名得分3,第4名得分2,第5名得分1;参赛人数不超过6人,取前3名:第1名得分5,第2名得分3,第3名得分2;团体项目的名次取法和上面相同,但分数加倍。功能要求:⑴运动员报名登记,以学校为单位进行运动员报名登记,登记的限制要求按问题描述的要求;⑵参赛信息查询,查看参赛学校信息和比赛项目信息;⑶竞赛检录,每项比赛开始前完成参赛运动员的检录;⑷竞赛成绩登记,填写比赛名次,然后根据竞赛检录的运动员人数和上述的记分方式自动完成各学校的成绩登记并实时生成各学校的团体总分;⑸比赛成绩查询,可以按竞赛项目、参赛学校、参赛运动员查看比赛成绩;⑹竞赛成绩排序,以学校为单位,按总成绩的高低,分别排序输出每个学校的总成绩、男子总成绩、女子总成绩;题目15:机房机位预定系统(可组队)20台机器,编号1到20,从早八点到晚八点。两小时一个时间段,每次可预定一个时间段。功能要求:(1) 系统以菜单方式工作(2) 查询,根据输入时间,输出机位信息。(3) 机位预定,根据输入的时间查询是否有空机位,若有则预约,若无则提供最近的时间段,另:若用户在非空时间上机,则将用户信息列入等待列表。(4) 退出预定,根据输入的时间,机器号撤销该事件的预定!(5)查询是否有等待信息,若有则提供最优解决方案(等待时间尽量短),若无则显示提示信息。题目16:用C++设计一个简单的计算器要求能够对输入的数进行+,-,*,/,运算;可以带括号();不限定运算式的输入长度.题目17:班级档案管理系统(可组队)对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。功能要求:本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。本系统显示这样的菜单:请选择系统功能项:a学生基本信息录入b学生基本信息显示c学生基本信息保存d学生基本信息删除e学生基本信息修改(要求先输入密码)f学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。将学生基本信息保存到文件中。进入系统之前要先输入密码。题目18:班车信息管理(可组队)交通公司的班车系统的数据包括如下两部分:班车信息:班交及车号、最大载客数、起点、开车时间、终地点、到达终点站时间,单价;乘客信息:车次及车号、身份证号码、姓名、性别、出生年月、座位号。乘客订票的主要方式是:乘客提供起点、时间、终点、订票数等订票要求,根据事先保存的班数据决定乘客能否订票?只有全部满足了乘客的订票要求并且所订班次有足够的未订座位之后才能完成订票处理,并且修改该班次的未订座位数(每个班的未订座位数的初始值就是该班次的最大载客数);否则,订票失败,并且给出不能订票的原因。功能要求:⑴增加班次记录。将新的次班记录增加到原有的次班数据中。在进行处理时必须检查所要增加的班次记录是否存在,如果已经存在,应给出提示信息后停止增加;⑵班次取消。如果某班次的乘客数太少(已订票的少于本次班次最大载客数的10%),将取消该班次,但该班欠的记录仍然保存在原有的班数据中;⑶班次查询。应该有以下几种基本的查询方式:按班次号、按起点和时间、按终地点,和时间;⑷班次订票。按上述问题描述中的乘客订票方式完成班次订票处理。题目19:用英文单词模拟数学计算读入两个小于100的正整数A和B,计算A+B。需要注意的是:A和B的每一位数字由对应的英文单词给出。具体的输入输出格式规定如下:输入格式:测试输入包含若干测试用例,每个测试用例占一行,格式为"A+B=",相邻两字符串有一个空格间隔。当A和B同时为zero时输入结束,相应的结果不要输出。输出格式:对每个测试用例输出1行,即A+B的值。输入样例:one+two=threefour+fivesix=zeroseven+eightninezero+zero=输出样例:Threeninezeroninesix题目20:职工工资管理系统(可组队)功能设计要求输入记录:将每一个职工的姓名、ID号以及基本工资、职务工资、岗位津贴、医疗保险、公积金的数据作为一个记录。•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。删除记录:可删除数据文件中的任一记录。统计:(A)计算各项工资平均工资及总工资,(B)・统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元)以内的工资职工人数及占总职工人数的百分比。(C)按字符表格形式打印全部职工工资信息表及平均工资(・包括各项总的平均工资)。7.保存数据文件功能。例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01张望1286794198109135203402李明118562813594114174003王小民8954389864731294各项平均工资1092.2625.214588.8108
题目21:月历显示输入年份和月份,输出该月的月历:UEDTUESUHMOH7411252-UJ112418_h112UEDTUESUHMOH7411252-UJ112418_h112T3074A112_Hs12963fl12_HFT4U题目22:万年历查询程序(可组队)功能要求:(1) 提供菜单方式选择(2) 输入年份、月份、日期,计算得到的是这一天据今天有多少天,星期几;(3) 输入公历的年月日,输出农历年月日。(4) 输入农历节气,输出当年农历的年月日及公历年月日。可以假定只涉及年份是1940年到2040年。题目23:工资纳税系统个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。个人所得税税率表一(工资、薪金所得适用)级数 全月应纳税所得额 税率(%)TOC\o"1-5"\h\z 不超过500元的 5 超过500元至2000元的部分 10 超过2000元至5000元的部分 15 超过5000元至20000元的部分 20 超过20000元至40000元的部分 25 超过40000元至60000元的部分 30 超过60000元至80000元的部分 35 超过80000元至100000元的部分——40 超过100000元的部分 45表中的应纳税所得额是指以每月收入额减除1600元后的余额。例如:计算为:2500-1600=900应纳个人所得税额=500x5%+400x10%=65再比如:我们用一个大额工资计算,25000元应纳税所得额=25000-1600=23400应纳税额=500x5%+1500x10%+3000x15%+15000x20%+3400x25%=4475要求:输入工资计算出纳税金额。第二类题目小游戏和图形处理题目24:图形时钟功能要求:在屏幕上显示一个图形时钟(用程序绘制一个与时钟样式相似即可),时间与系统时间一致,且要随着时间的走动准确的走动。题目25:计算24游戏涉及知识点数组的运用;函数及其调用;数据的输入输出。题目介绍计算24游戏是根据扑克牌游戏得来。游戏规则是:四个人每个人出一张牌,看谁能用四则运算凑出24这个数,可以加入括号运算。程序要求从键盘输入四个一位数,通过加减允许加入括号,计算出24,显示计算过程,并提示成功信息。功能要求从键盘任意输入4个数字(2-10)或字母(J、Q、K、A),程序输出所有利用这4个数字或字母(A表示1,J表示11,Q表示12,K表示13)能得到24的表达式,如24£5以下輸岀所有满足条件龜算式C2+0*5-64-4«5-<2-&>4+5、*6&-C24«5>4«5-2*E4*5*6-24+(6-2>«5&W5-2-46*5_4~2请按任直犍继垛…-难点与提示程序采用穷举法实现。例如,只有2个数字(或字母)A,2时,穷举法计算的表达式有1+2,1-2,1*2,1/2。当有4个数字(或字母)时,表达式可以分为三种情况:无括号的简单四则运算表达式;有一个括号的表达式;有两个括号的表达式。对于三种情况分别用三个函数实现。题目26:井子棋游戏1.目的与要求设计一个程序实现人与计算机玩井子棋游戏,假设计算机画X,人画0,人可选择是否先走。显示3X3方格的棋盘,一个玩家选择一个棋格画X,紧接着另一个玩家选择一个空棋格画0,双方轮流走棋,直到一个玩家占领一行,一列或一条对角线获胜,这时比赛结束。(3)输出参考格式:是否先走(Y/N)?y输入要走的棋格行号和列号:1,1||||||0||||||计算机选手走的棋格是:0,02.实现提示选手及棋局状态:可以采用枚举类型定义选手{Human,Computer};选手棋局状态{WIN(胜),LOSE(负),TIE(平),UNEND(还没结束)}棋格位置:用棋格的行号和列号来表示棋格打分规则:如果棋盘上有棋子,则得0分;如果棋盘上没有棋子,但棋格所在行,列或对角线有两个X,则得6分;如果棋盘上没有棋子,但棋格所在行,列或对角线有两个0,则得5分;如果棋盘上没有棋子,但棋格所在行,列或对角线其他棋格有一个X和一个没有棋子,则得4分;如果棋盘上没有棋子,但棋格所在行,列或对角线其他棋格有一个0和一个没有棋子,则得3分;如果棋盘上没有棋子,但棋格所在行,列或对角线没有棋子,则得2分;如果棋盘上没有棋子,但棋格所在行,列或对角线有一个X和一个0,则得1分。选手走棋规则:选择分值最高值为计算机的走棋,如果有多个棋格的分值都为最高分,则随机选择一个分值最高的棋格作为计算机的走棋。题目27:汉诺塔1.涉及知识点函数的参数;数组的使用;3.循环;4.数据的输入输出。2.题目介绍设有n根柱子,每根柱子上有一个圆盘,圆盘上有一个正整数,不同圆盘上的数不同。初始时假定柱子按照其上圆盘上数的大小从左向右排列,移动规则是从左向右看,当前一根柱子最下圆盘上数与后一根柱子最上圆盘上数相加的和是一个完全平方数时,前一根柱子上所有圆盘移动到后一根柱子上方。要求你编写程序,输入柱子数目和圆盘上的整数,输出移动的过程和结果。例如,一组输入是:4,1,3,5,6,第一个数4表示有4根柱子,圆盘上的数依次是1,3,5,6。程序运行后,可以输出1->3->6,5,c=2,表示移动是1到3,3到6,因为1+3=4,3+6=9,而4和9是完全平方数,符合条件的移动只有这两次。移动结果是还有2根柱子上有圆盘,即c=2,有圆盘的一根柱子上圆盘3个,有数1->3->6,有圆盘另一根柱子上圆盘一个,有数5,它其实没有发生移动。3.功能要求任意输入数据,第一个数据为柱子的个数,后续的数据为柱子上数的值。将结果分行输出,一行输出一种组合。使用函数调用完成题目功能,主函数负责数据的输入与输出,子函数负责运算。4.难点与提示1•提示:输入:9,1,2,3,4,5,6,7,8,9输出:1->3->6,2->7->9,4->5,8,c=4输入:10,1,3,5,7,9,11,13,15,17,19输出:1->3->13,5->11,7->9,15,17->19,c=52.以一个数组接收输入的数据,具体运算数据从第二个元素开始。3•最终剩余的柱子数为初始数据中第一个元素值减去已生成数组个数得到。题目28:猜数游戏程序说明:游戏的开始由机器产生一个随机数(1〜100之间,用库函数random。,用法见后面的说明),然后游戏者在程序的提示下猜数,若输入的数比这个数大,程序提示:YouranswerisHIGH,tryagain.,否则,程序提示:YouranswerisLOW,tryagain.,直到猜对为止。程序可实现连续猜数,直到游戏者退出。程序输出要求:累计游戏者猜对一个数所需次数n,当n<=7时,给出“Congratulation”字样;当7<n<15时,给出“leanbetyoucandoitbetter.”;当n>=15时,用exit(0)库函数退出程序。提示:用库函数random。产生一个随机数。如:intz;z=random(9999);题目29:五子棋游戏(MFC)(可组队)1.目的与要求游戏规则:传统五子棋的棋具与围棋相同,棋子分为黑白两色,盘为19x19,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子。如果某一方下棋的棋子最先5子连续连成一线(行、列、对角线),则该方为赢家,游戏一局结束;如果棋盘下满未定胜负则为平局,游戏一局结束。功能模块:将程序分为图形显示、玩家控制、胜负判断和玩家计分四个模块。图形显示模块:程序开始运行时,给出欢迎及帮助界面;游戏开始后要求生成19x19的棋盘图像,并在棋盘上方提示当前落子方棋子颜色,游戏进行过程中,要求实时显示棋盘上已落下的棋子;分出胜负后,要求给出游戏结束画面。玩家控制模块:程序开始时,需玩家确定而后开始游戏;游戏过程中,两个玩家通过不同的按键移动光标,选择落子;游戏结束时,有玩家选择是否开始新棋局。胜负判断模块:实时监测棋盘上棋子,一旦某一色棋子出现五子连线,终止游戏程序,并着色连成一线的五子,弹出该色玩家胜出界面。玩家计分模块:一方玩家再胜利后通过对文件的操作进行计分,并输出于计分板上。其他要求:进入演示程序后,即显示欢迎界面,按任何键进入帮助界面,再按任何键可以进入主界面开始游戏。棋子的移动与落子有键盘上按键控制,本程序选取1P按键为W、S、A、D和空格键,2P按键为一和回车键,分别代表上移、下移、左移、右移光标和落子。在光标移动的过程中,光标按照玩家按键移动;在玩家按下落子按键后,程序自动调用棋子显示子程序和判断胜负子程序。1P、2P的落子后,程序会为落子处的数组元素赋一个特定值,用于判定胜负。游戏中esc键可以直接退出游戏,backspace键可以操作进行悔棋。游戏过程中,如果玩家1或者玩家2有一方获得胜利后,程序自动将提示哪一方获得了胜利,并将着色构成连珠的5个子。游戏结束且玩家选择不再继续后,跳出结束界面。退出程序。2.实现提示(1)程序不涉及人机交互,算法较为简单。首先,以落子为出发点,分别沿着水平竖直和两条对角线方向(分别为45°和135°)进行搜索,看在这四个方向是否最后落子的一方构成连续五个棋子。为了提高搜索速度,尽量减少搜索范围。以落子为中心两侧各判断四子共九子,判断这九子中是否有最后落子的一方的连续五个棋子。只要最后落子的一方在任一方向上有连续五个棋子,就表示该盘棋局已经分出胜负。监控键盘输入的函数及各键的ASCII码值;图形方式下的输入、输出及其相关的函数;判定五子成一线的方法,即矩阵中行向、列向、两条对角线方向上是否有连续五子;调用系统提供的声音函数等。题目30:俄罗斯方块游戏(MFC)(可组队)1.目的与要求游戏规则:7种状态的方块(长条型、Z字型、反Z字型、田字型、7字型、反7字型、T字型)随机产生,自由下落,落下时可由玩家用上、下、左、右控制键控制翻转和移动,以便以万家所需要的形态和位置落下。如果落下时,方块的方格能填满某一行,则这一行可消去。消去一行后,游戏可给玩家加分,若由存在空格的方块填满整个窗口,则游戏失败。游戏界面:游戏的背景色是黑色,方块用蓝色,在一定区域内运动和变形,落下后的障碍物用黄色显示。游戏形状:由数组作为存储方块状态的数据结构,各个方块要能实现下落、移动、旋转,旋转可设为顺时针或逆时针变形,一般为逆时针,实现下落底部方块的处理。键盘处理:方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。鼠标事件:通过点击菜单栏中相应的菜单项,可以实现游戏的开始、结束,方块形状的变换,分数、等级的显示,以及游戏帮助等功能。显示需求:当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。当达到一定分数的时候,会增加相应的等级。2.实现提示方块如何实现旋转:通用的方法是旋转90度,还可以把每个方块各种变形的样子都用结构体定义好,形成一个封闭的链表,变形一次指针指向下一种形状。方块是否还能下落:用一个带有返回值的函数,若碰撞则说明不能下落,返回1;反则说明没有碰撞,返回0。即将整个4X4方块数组下落看成一个单位长度,与游戏空间数组有重叠的1,则在当前位置4X4数组是1的地方赋值给游戏空间对应的数组元素,表示停止下落,并画有1的地方。对于左移、右移一个单位长度有重叠的1,则不允许左移、右移,继续自然下落。方块如何实现消行:先认为每一行都是满1的,从游戏空间的数组由上到下扫描,一旦测试到某一行中某个列元素为0,则认为这一行没满,跳出这行的扫描循环,进入下一行的扫描。若扫描完某一行的元素都没有发现0,则以这行以上的每一行完完整整地将上一行的元素赋值给下一行,这个过程以由下到上进行,然后将整个游戏空间画黒,再在有1的地方画小正方形。第三类题目数学计算题目31:多项式乘法的实现已知如下两个多项式P(X)=Pm一1Xm_1+Pm-2Xm~2+...+P]X+P0Q(x)=qn-iXn-1+qn-2Xn-2+...+q1X+q0求它们的乘积多项式S(X)=Sm+n-2X〃+n-2+...+S]X+S°。可以定义两个一维数组p,q,按照次数从高到低存储两个多项式的系数,定义一维数组来S来存储结果;利用函数来完成对结果多项式各项系数的计算,最后在屏幕上计算结果。题目32:四边形计算对于任意的四边形ABCD,其对角线AC与BD的中点分别是M、N,AB、CD的延长线交于R。验证三角形RMN的面积是四边形ABCD面积的四分之一。题目33:三角形计算设有任意正三角形ABC,其三条边BC、CA,AB上分别有一点B「C1,而且有AC1=2C1B,BA1=2A1C,CB1=2B1AO编制程序验证由线段AA「BB.题目34:用梯形法求定积分(数值求解算法)用梯形法编程求函数f(x)=x2+2x+1的定积分提示:把积分区间[a,b]等分为n等分(a,b,n的值由程序输入。),可得到若干个小梯形,积分面积就近似为这些小梯形面积之和。题目35:大整数的四则运算(可组队)大整数指超过十位的十进制整数,这里为简便,假定不超过五十位。这类大整数在C++系统中因超界溢出,是不能直接表达和计算的。可以用数组来表示大整数,在此基础上编写出实现大整数加、减、乘、除的程序,并努力加以优化。1) 加法运算:利用两个整形数组分别存放两个数a和b的每一位的数值,最低位存放符号。如果a和b同号,从最低为开始计算,如果有进位则保存在高一位,本为则减10,然后反序将计算后的各个位的数值保存在一个数组c并输出,如果a和b都是负数则在前面要输出负号,函数的返回值为c的位数。如果a和b异号,也即两个正整数相减,从最低位开始相减,如果要借位则本位加10再相减,高一位要减1,然后反序将计算后的各个位的数值保存在一个数组c并输出,在前面要输出相应的符号位。2) 减法运算:可将减法运算转为加法运算,只要将被减数的符号改变即可。3) 乘法运算:符号存放在最低位,将其中一个数a的每一位分别乘以另一个数b的每一位,并将结果保存在数组c中,然后重复计算a的下一位跟b的每一位的乘积,把上一次计算保存在c的值加上本次计算后的值,并保存在c自身中,直到a的最高位,最后输出符号和相应的计算结果。4) 除法运算:利用乘法和减法,将除数分别乘以1到9,直到其值大于等于被除数的对应的数,然后被除数对应的数减去其乘积,保存在一个数组中,下一次循环把它归到被除数中继续做除法运算,最后得到余数并输出。题目36:实现带有括号的四则运算输入是一个带有括号的四则运算表达式,输出是计算得出的正确计算结果。例如输入:123+213-67*34+345/23*45*(34+34-345+245+567)回车,然后程序计算得出结果为:359183题目37:线性方程组求解输入是N(NV256)元线性方程组Ax=B,输出是方程组的解,也可能无解或有多组解。可以用高斯消去法求解,也可以采用其它方法。题目38:n阶方阵求逆输入是一个n(nv256)阶方阵A,输出是它的逆矩阵,要求还要再将得到的逆矩阵与原来的矩阵相乘,验证其结果是单位矩阵。题目39:矩阵操作1.目的与要求设有两个矩阵A=(a.) B=(b.)‘。编写矩阵输入、输出、转置、求和、求ijmXn ijpXq差、求积等函数。设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。2.实现提示利用循环语句和数组编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的三元组(不能使用全局变量);利用循环语句和数组编写矩阵输出函数0UTPUT_MAT,通过该函数完成矩阵的输出,输出的形式是标准的矩阵形式(即二维数组的形式);求矩阵的转置,矩阵的转置A'=(a),转置前输出原矩阵,转置后输出转jinXm置矩阵;求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C;C=A+B=(c),其中c=a+bijmXn ijijij求矩阵A、B的差。矩阵A和B能够相减的条件是:m=p,n=q;矩阵A和B如果不能相减,请给出提示信息;若能够相减,则求差矩阵C并输出C;C=A-B=(c),其中c=a-bijmXn ijijij求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D;D=AXB=(d),其中d二刀aXb,k=1,2, ,nijmXq ij ikkj题目40:进制转换编一程序,实现将输入的一个无符号整数转换为二进制和八进制表示,分别存入字符数组中并输出。(提示:算法采用模拟人工法。)注:计算机模拟人工是编程中常用的方法,这种方法要求编程者首先分析在人工方式下解决问题的过程,从中找出步骤和规律,然后编写程序,按照人工解决问题的步骤和规律进行操作。主要功能包括:输入无符号整数;输出无符号整数;输入输入要转换的进制;输出转换后的值;退出系统;题目41:回文数的形成任取一个十进制整数,将其倒过来后与原来的整数相加,得到一个新的整数后重复以上步骤,则最终可得到一个回文数。请编程验证。(回文数就是将一个数从左向右读是一样的,如121,11等)。(注:回文数不超过2147483647)回文数的这一形成规则目前还属于一个猜想,尚未获得数学上的验证,有些回文数要经历上百个步骤才能获得,请编程验证,打印形成过程。如输入整数78,则形成回文数的过程为:78+87=165,165+561=726,726+627=1353,1353+3531=4884。提示:一个函数用来求反序数,另一个函数判断是否为回文数,在主函数中输入输出。题目42:正整数分解质因数将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。题目43:最大公约数和最小公倍数输入两个正整数m和n,求其最大公约数和最小公倍数。题目44:哥德巴赫猜想验证哥德巴赫猜想:任何比2大的偶数都可表示为两个素数之和。提示:验证必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年装饰装修施工员考试题库(附答案)
- 2025上半年教师资格考试(高中生物)新版试卷真题附答案
- 2025下半年幼儿园教师资格证考试《综合素质》真题及参考答案
- 氢氟醚:绿色高效的氟化解决方案
- 2026年【道路运输企业主要负责人与安全生产管理人员】考试题及答案
- 2026年《新闻记者职业资格》(全科)模拟真题及答案深度解析
- 2026年直辖市检察院入额专项试题含答案
- 2026下半年高中地理教资面试地形
- 中国AI创新力量
- 播音主持职业生涯规划
- 高三物理教学设计:光学光路图“死命令”专题复习策略与实战演练
- 2026年湖南安全员c3证考试题库及答案
- 2.5 热传导 课件(内嵌视频)2026-2027学年科学五年级上册苏教版
- 2026年建筑八大员(九大员)住房城乡建设领域现场专业人员考试-测量员历年参考题库含答案解析
- 26秋人教数学-5.1.3求一个数的百分之几是多少
- 自发性气胸诊疗指南2023
- 城市防洪工程设计规范
- 2026 年产科产后出血急救护理流程培训课件
- 北京京能电力股份有限公司招聘笔试题库2026
- 第15课 探寻新航路课件(共26张+视频) 统编版九年级历史上册1
- 第1章人体内环境与稳态(满分培优卷)(原卷版+解析)
评论
0/150
提交评论