C++程序设计练习题(1)

更新时间:2024-04-01 06:55:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 编写一个程序,计算下列分段函数的值。

?x????????????????????????x?2??x2?1?????????????????????x?6??????y??x?1??????????????????????x?10??? ??1???????????????????????x?10??x?1

2. 有函数如下所示:

?3sinx?y??2x?1?x2?10?x?0时0?x?10时x?10时

编写程序输入x,求对应的函数值y。

3. 有函数如下所示:

?x?8?y??x2?9?x?x?0时0?x?20时 x?10时编写程序输入x,求对应的函数值y。

4. 编程实现以下功能:系统随机生成20个两位数整数,并找出它们的最大值和最小值,并输出。

5. 求出1-600中能被3整除,且至少有一位数字为5的所有整数。

6. 写一个程序,从键盘输入某雇员的周工作时间(以小时计)和每小时的工资金额,计算并输出他的周工资。若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。若雇员周工作小时超过50小时,则超过部分按原工资的3倍的加班工资来计算。

7.纳兹木江是位渔商,有一天他去批发市场进货,正好赶上促销活动。每公斤鱼的原价为15.9元,现进行促销活动,进货满足一定的重量可享受打折优惠。具体优惠规则如下: (1)进货重量少于20公斤,不享受任何优惠;

(2)进货重量超过20公斤(包含20公斤)但不超过50公斤,则享受9折的优惠; (3)进货重量超过50公斤(包含50公斤)但不超过100公斤,则享受8折的优惠; (4)进货重量超过100公斤(包含100公斤),则享受7.5折的优惠。

设计一个程序,输入纳兹木江的进货重量,计算并输出他需要支付的总金额。

8. 已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是55,而55的平方刚好等于该数(55*55=3025)。试编一程序打印所有具有这种性质的四位数。

9. 利用公式

?4?1?111?????,求 л 的近似值。直到最后一项的绝对值不大357于10-8为止。

10. 淮安人杰地灵,名人辈出,其中被人们广为传颂的就有汉朝名将韩信,淮安民间传说着一则故事“韩信点兵”就充分说明了韩信的杰出数学才能,其大意是:韩信带1500名兵士打仗,大战之后约死伤四五百人,韩信命令剩余的士兵3人一排,最后一排是2人;5人一排,最后一排是4人; 7人一排,最后一排是6人,韩信就能马上说剩余士兵的人数。换成现在的说法就是从区间[950,1100]中找出一个数,它除以3余2,除以5余4,除以7余6,请大家编程求解出这个数。

11. 假设我们上楼梯的时候可以一步上一个台阶也可以一步上二个台阶,请大家编程实现输入总台阶数的时候,就可以输出所有上楼梯的方案。解决思路:假定上n个台阶的楼梯对应的上楼方案为f(n),那么f(n)=f(n-1)+f(n-2),其中f(1)=1,f(2)=2,递归就可以求出f(n).(20分)程序输入输出示例如下:

请输入台阶数:5 上台阶总方案为:8

12. 相传古印度舍罕王发明了一个敛财的游戏,他拿出一个巨大的5×5的棋盘(如下图所示),然后叫大臣们往棋盘的格子中放钱币。第一个大臣在第一个格子中放1枚钱币,第二个大臣在第二个格子中放2枚钱币,第三个大臣在第三个格子中放4枚钱币,以后的每一个格子中放入的钱币数量都是上一个格子中钱币数量的2倍,依此规则放满棋盘上的25个格子。设计一个程序,计算舍罕王一共从大臣那里敛了多少钱币。

13. 通过函数实现如下功能:输入某年某月某日的日期,计算该天是本年的第多少天,并对其日期的有效性进行判断。

n14. 已知mm!c?n!(m?n)!编写程序,输入m和n(m>=n),求的值。要求定义一个函数

fact求得阶乘,定义另一个函数cmn求得组合数,在主函数中进行输入、调用并输出结果值。

15. 约翰博士非常痴迷于对数列的研究。他发现一个很有趣的数列,该数列的第一项的值为1,并且从第二项开始,每一项与它的前一项之间有如下的关系:an = an-1×an-1-2an-1+3。设计一个函数,帮助约翰博士计算出该数列的前20项中的最大值,最大值由函数的返回值进行返回。并在主函数中调用该函数进行测试。

16. 某班级的生信息包括学生的学号、姓名、性别、年龄。最近学生进行了一次考试,通过编程,将学生的信息按成绩排名顺序输出。

17. 用数组实现20个数的排序,使其按照从小到大的顺序输出。

18. 编写bubbleSort函数实现用冒泡排序法对n个数降序排列,在主函数中产生十个两位随

机整数存入一维数组中,调用bubbleSort函数对其进行降序排列,并输出排序前和排序后数列。

19. 定义两个重载函数,分别计算三角形和圆的面积。用户将被询问是要计算三角形的面积还是圆的面积,根据用户的响应(1代表三角形,2代表圆),程序根据用户的输入计算面积,并打印结果。

20. 使用函数和指针的知识点编写程序,把两个字符串连接起来,并在主函数中调用且输出结果。程序输入输出样例如下:

字符串1:abc 字符串2:abcd

连接后的字符串:abcabcd

21. 数学家墨楠一直致力于随机分布模型的研究。有一次他突发奇想,想检测一下依据某种随机分布所产生的一组数据中,所有偶数的和与所有奇数的和之间的差值会有多大。因此,数学家墨楠随机产生了100个 [50, 1000]范围内的随机整数,并将其存放在一维数组中。设计一个程序,帮助数学家墨楠检测一下,随机产生的这100个整数中,所有偶数的和与所有奇数的和之间的差值到底有多大。

22. 计算某个班级50个学生C++程序设计课程考试的平均成绩, 并统计平均成绩以上学生的人数。

23. 随机产生200个大小在0到999的整数至数组xx中,实现功能:(1)求出最大数max及最大数的个数cnt(注意最大的数可能不止一个,因为数组XX中的元素有可能重复);(2)数组xx中能被3整除或能被7整除的所有数的算术平均值pj。

24. 哥德巴赫猜想中一个著名的问题是偶数的素数分解问题,即,一个大于2的偶数总可以表示成两个素数的和的形式。例如:10 = 3 + 7,100 = 11 + 89。设计一个程序,计算出 [500, 1000]范围内的所有偶数的素数分解形式。说明:一个偶数可能存在多种素数分解形式,只需计算出其中的一种即可。

25. 编写函数一,判断一个年份是否是闰年,若是返回true,否则返回false。编写函数二,求一个月有多少天,输入参数:年、月;输出数据:该月的天数。提示:第二个函数需要调用第一个函数判断是否是闰年,从而确定二月是28天还是29天。编写主函数,调用上述函数,打印用户指定的日期(年、月、日)是该年的第几天。

26. 在《中国新歌声》冠军争夺赛中, 共有四名候选人参与竞争。现场共有 100 位专业评审参与投票。每位专业评审必须向四名候选人中的一位进行投票, 不得弃权, 不得多选。最终, 获得投票数最多的候选人将会成为冠军。试用结构数组设计程序, 模拟投票过程, 并统计出四名候选人所得票数。

27.已知一个数列的前两项分别为1和2,从第3项起的每一项与它前两项的关系为:

an = 2an-1+3an-2 (n>2)

编写程序,求出此数列的第15项的值。

28. 在美国曾流行以下数学游戏:从任意一个大于1的整数开始,反复作以下运算: (1)若为奇数,则乘以3后加1;

(2) 若为偶数,则除以2。

最后总可以得到数1。这一问题称为“Carlitz问题”。编写程序,主函数中输入一个大于1的整数,并通过函数调用来对该整数进行上述运算。函数返回最终得到数1所需要的计算次数,并在主函数中输出结果。

29. 从键盘输入一个正整数n (n>1),计算并输出表达式Sn?1352n?1?????的值。 3572n?1

30. 形如2n-1 (n>1)的素数称为梅森尼数。例如22-1=3、23-1 = 7都是梅森尼数。1722年,双目失明的瑞士数学大师欧拉证明了231-1 = 2147483647是一个素数,堪称当时世界上“已知最大素数”的第一个纪录。编写程序求出n<20的所有梅森尼数。

本文来源:https://www.bwwdw.com/article/jzjr.html

Top