c++程序设计与题集(含解答)

上传人:第*** 文档编号:32683310 上传时间:2018-02-12 格式:DOC 页数:30 大小:116.50KB
返回 下载 相关 举报
c++程序设计与题集(含解答)_第1页
第1页 / 共30页
c++程序设计与题集(含解答)_第2页
第2页 / 共30页
c++程序设计与题集(含解答)_第3页
第3页 / 共30页
c++程序设计与题集(含解答)_第4页
第4页 / 共30页
c++程序设计与题集(含解答)_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《c++程序设计与题集(含解答)》由会员分享,可在线阅读,更多相关《c++程序设计与题集(含解答)(30页珍藏版)》请在金锄头文库上搜索。

1、本学期程序设计基础课程实行上机考核,现将考核有关事项通知如下:(1) 考核时间:本学期最后一次上机时间为机试。(2) 考核内容:C+面向过程部分,主要是算法设计与实现。考题来自本学期布置的作业、部分例题及一些补充的题目。(3) 考试形式:机试前进入机房时,每人随机抽取一道题(同一个班的同学保证不抽到同一题) ,然后上机编程,调试通过后报告监考人员审核,审核通过后将源程序拷贝到监考人员 U 盘上,然后可以离开机房。源程序文件明必须是“ 学号姓名 .cpp”,如“2012211532 刘天.cpp”。(4) 考试要求:机试时考试规则同课堂考试一致,不允许带书、纸张等。不能携带任何可用计算机处理的软

2、件或数据(不允许任何私人携带的 U盘、磁盘或计算器) ,不能携带任何类型的通讯工具,包括无线电接收器、移动电话。(5) 考试成绩:本次机试成绩将在程序设计基础课程成绩中占 25%的比重。(6) 其它有关事项由主考教师与监考人员负责处理。附:考试题集1. 利用异或运算对输入的文本进行加密解密输出,用户输入一个文本(字符串,设不超过 20 个字符) ,然后输入作为密钥的字符,程序输入加密及解密的字符串。2. 编写一个程序,用户输入年份及月份两个数据,程序输出该月份的天数。 (提示:对2 月要考虑是否闰年,闰年年份要么能被 4 整除且不能被 100 整除,要么能被 400 整除,除次之外都不是闰年)

3、 。3. 某大桥按不同型号征收车辆过桥费:自行车免费,摩托车 2 元,小汽车 5 元,大客车与货车 8 元,货柜车 12 元。编写一个程序,按车辆的不同型号计算通过该大桥应征的过桥费。 (提示:可以用整数对不同型号的车辆进行编码)4. 输入一位同学的考试成绩,若是 90100 分,输出“Excellent” ,8089 输出“Very good”,7079 输出“Good” ,6069 输出“Pass” ,60 分以下输出“No Pass” 。5. 旅行社的订票量小于 10 张时,航空公司给予 10%的折扣;订票量大于或等于 10 张且小于 20 张时,航空公司给予 15%的折扣;订票量大于或

4、等于 20 张且小于 30 张时,航空公司给予 30%的折扣;订票量大于或等于 30 张时,航空公司给予最高的 45%的折扣。编程输入订票张数及单张机票票价,程序输出折扣率及应付款额。6. 用户输入一个整数流(输入 1000 表示数据输入结束) ,如4 1 13 0 6 -5 1 -1 7 -12 19 0 100编写程序统计输入流中-1、0 与+1 的个数。7. 编写一个程序,求一个自然数中含有多少个 2 的因子。如,6 含 1 个 2 的因子,8 含3 个 2 的因子,11 不含 2 的因子。 (提示,程序应检查用户输入的合法性) 。8. 编写一个程序解决爱因斯坦台阶问题:有人走以台阶,若

5、以每步走 2 级则最后剩 1 级;若每步走 3 级则最后剩 2 级;若以每步走 4 级则最后剩 3 级;若以每步走 5 级则最后剩 4 级;若以每步走 6 级则最后剩 5 级;若以每步走 7 级则最后刚好不剩。问台阶共有几级?9. 公鸡 5 元 1 只,母鸡 3 元 1 只,小鸡 1 元 3 只,花了 100 元钱买 100 只鸡,问公鸡、母鸡、小鸡各多少只?10. 编程实现解决下述问题的算法:一位顾客在购物时,如果买 4 个苹果剩下 4 角钱如果买 5 个苹果则缺 5 角钱,请问,该顾客带了多少钱?多少钱可以头一个苹果?11. 编写程序计算 100 之内可以被 13 整除的自然数之与。12.

6、 键盘输入 m 与 n(10并输出,其中 ij。31.编程求出 1000 以内的所有符合如下条件的数:其高位数字小于低位数字。如12,238 等。但 21,548 不符合条件。32.求任一整数 N 的标准分解式,即素数因子之积。例如 16=2*2*2*2, 15=3*5。33.斐波那契(Fibonacci)数列问题:Fibonacci 数列递归定义为:x0=0,x1=1,xi+1=xi+xi-1, i=2,3,即从第二项开始,数列中的每一个元素等于前面两个元素之与。编程输出前 20 项Fibonacci 数。 (提示可以用递归或迭代两种方式编程)34. 打印下面图形。11 3 11 3 5 3

7、 11 3 5 7 5 3 11 3 5 7 9 7 5 3 1 1 3 21 3 135. 打印如下图形A B C D EB C D E AC D E A BD E A B CE A B C D36. 正读与反读都一样的数称为回文数。编写程序输入一个整数 max_num,输出从 0 到max_num 中用二进制表示与十进制表示都是回文数的整数。定义一个函数is_circle_num()判断一个数( number)在某个进制(radius)下是否为回文数。例如,整数 313 就是该程序输出的一个数,因为它的二进制表示为 10011001。37. 编写一个递归函数:将一个整数转换为响应的字符串并

8、输出,函数原型可声明为:void int2str(int number)。38. 用函数实现将一个以字符串形式表示的十六进制数转换为一个十进制整数。例如,输入”A2”转换为 162。39. 编写一个将十进制整数转换为十六进制字符串的函数。40. 编写出判断一个整数是否为素数的函数,并求出在 2000 以内的有十个以上的所有连续的非素数组。41. 编制一个程序,统计从标准输入设备上输入的字符流(以?结束)中每个英文字母(大小写不分开计)出现的次数。42. 编程实现“冒泡排序算法” ,将输入的若干整数由小到大(升序)排序输出。要求定义一个排序函数,其原型是 void bubble(int data

9、, int length)。43. 给定含有 m+n 个元素的整型数组 A(其中 m0, n0) ,它分为两个互不重叠的,长度分别为 m 与 n 的子数组段,写出交换这两个子数组段的程序,要求不引入数组 A 以外的数组,但可引入若干中间变量。44. 用数组存储数据,实现筛选法求素数问题的求解。要求求出 2 到 1000 之间的所有素数。筛选法求出 2N 间的所有素数的方法是:首先将这些数全部放入一个数组中,然后重复下面的操作直到数组为空为止:a.找出其中的最小数 K,则 K 一定是一个素数,因此可输出。 b.从数组中删除 K 及其所有倍数。45. 编程实现二分查找算法。二分(折半)查找(搜索)

10、算法如下:数组 a 中的 n 个数从大到小(降序)的顺序排列,要检索一个数 x 是否在 a 中,折半查找算法的思路是:设查找区间为lower, upper,初值 lower=0, upper=n-1; 算法步骤:(1)输入数组 a 的元素及 x;(2)x 是否为 a 的第一或最后一个元素。若是其中之一,算法结束;(3)将区间两等分为lower, mid与mid, upper,mid 为区间中点,每次取出中间项进行检查,若 x=amid,x 被检索到,算法结束;若 xamid,则在前半区间 lower, mid 内重复折半检索。反复执行上述步骤,使 lower 与 upper 相等或相差 1(表

11、示未检索到 x) ,或 amid=x。46. 编程实现查找矩阵中最大元素的位置。要求输入一个矩阵中所有元素,输出该矩阵,并输出矩阵中最大数所在的行、列号及该元素的值。47. 编写程序找出二维整形数组中所有这样的元素及其位置:它在所在的行上是最大的,在所在的列上也是最大的。设数组中的元素各不相同。 (提示:先在第 i 行中寻找此行最大值元素,记下其行与列,然后在其所在的列判断它是否也是最大的,若是则输出结果。可以引入标志变量表示找到这个元素。 )48. 编程产生下列数组,并输出。1 2 3 4 5 6 2 3 4 5 6 0 3 4 5 6 0 1 4 5 6 0 1 2 5 6 0 1 2 3

12、 6 0 1 2 3 4 49. 编程产生下列数组,并输出1 2 3 4 5 6 2 1 2 3 4 5 3 2 1 2 3 4 4 3 2 1 2 3 5 4 3 2 1 2 6 5 4 3 2 150. 编程产生下列数组,并输出。1 2 3 .n-1 0 2 3 4 . 0 1 3 4 5 . 1 2 . n-1 0 1 .n-3 n-2 0 1 2 .n-2 n-11./加密字符串#includevoid main()char a21,b,key;coutab;for(int i=0;ai!=0;i+)ai=aib;coutkey;for(int j=0;aj!=0;j+)aj=ajke

13、y;for(int g=0;ag!=0;g+)coutmain()int year,month,days;coutyearmonth;if(month=1|month=3|month=5|month=7|month=8|month=10|month=12)days=31;coutmain()intkind;coutkind;switch(kind)case 1: coutmain()int marks;coutmarks;switch(marks/10)case 10:case 9:coutmain()int num,price;float discount,total_price;coutn

14、umprice;switch(num/10)case 0: discount=0.1;break;case 1: discount=0.15;break;default: discount=0.3;total_price=num*price*(1-discount);coutmain()int a100,i,j,x=0,y=0,z=0;coutai;if(ai=1000) break;for(j=0;aj!=1000;j+)if(aj=-1) x+;if(aj=0) y+;if(aj=1) z+;coutmain()int x,i,n;coutx;if(xmain()int i,n;for(i

15、=7;!(i%2=1i+=7)n=i;coutmain()int cock,hen,chicken,price;for(cock=0;cockmain()int money,i,m,n;for(i=1;i+)if(4+4*i=5*i-5)coutmain()int n,i,j,s=0;for(i=1;i#includeintf(int n)int a,x,i,b;x=sqrt(n);if(n=2|n=3) b=1;else for(i=2;imn;if(m=n|n32000)coutmain()int i,j;for(i=1;imain()int m,n,temp;coutmn;temp=m#includemain()int n,i;coutn;for(i=0;pow(2,i)#includevoid main

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号