首页 > 代码库 > C语言程序设计第6堂作业

C语言程序设计第6堂作业

          一、  本次课主要内容:

            通过几个实例来进一步掌握循环结构的应用。

    技术分享

      二、 实验内容:(70分)

            1. 穷举算法(古典算术问题-搬砖头)某地需要搬运砖块,已知男人一人搬3块,女人一人搬2块,小孩两人搬一块。问用45人正好搬45块砖,有多少种搬法?

      2. 猴子吃桃问题。一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个;第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第n天早上想再吃时,见只剩下一个桃子了。问:第一天共摘了多少个桃子?试编写相应程序。(提示:采取逆向思维的方法,从后往前推断。)

      3. 兔子繁衍问题。一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到n对?输入一个不超过10000的正整数n,输出兔子总数达到n最少需要的月数。试编写相应程序。

      4. 韩信点兵:在中国数学史上,广泛流传着一个"韩信点兵"的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:

      按从1 至5 报数,记下最末一个士兵报的数为1;

      再按从1 至6 报数,记下最末一个士兵报的数为5;

      再按从1 至7 报数,记下最末一个士兵报的数为4;

      最后按从1 至11 报数,最末一个士兵报的数为10;

      你知道韩信至少有多少兵?

      5. 黑洞数:黑洞数也称为陷阱数,又称"Kaprekar问题",是一类具有奇特转换特性的数。任何一个数字不全相同的三位数,经有限次"重排求差"操作,总会得到495。最后所得的495即为三位黑洞数。所谓"重排求差"操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数)

      例如,对三位数207:

      第1次重排求差得:720-027=693;

      第2次重排求差得:963-369=594;

      第3次重排求差得:954-459=495;

      以后会停留在495这一黑洞数。如果三位数的3个数字全相同,一次转换后即为0。

      试求出任意输入三位数重排求差的过程。

      输入输出示例

      123

      321 - 123 = 198

      981 - 189 = 792

      972 - 279 = 693

      963 - 369 = 594

      954 - 459 = 495

      6. 水仙花数:输入两个正整数m和n(m≥1, n≤1000),输出m 到n之间的所有水仙花数。水仙花数是指各位数字的立方和等于其自身的数。例如153的各位数字的立方和是13 + 53 + 33 = 153。试编写相应程序。

      7. 求最大公约数和最小公倍数。输入两个正整数m和n(m<=1000,n<=1000),求其最大公约数和最小公倍数。试编写相应程序。

      三、  实验要求:

          1. 作业的Deadline:  2016-10-20 23:00pm

      2. 将本次实验内容的代码上传到https://coding.net/ 网站。 (70分)

      3. 写一篇随笔,内容分为四个部分:(总分30分)

      写出本次课学习到的知识和体会、学习的时长、学习过程中遇到的问题、问题解决的方法及问题的疑惑等。

      随笔的格式如下:

      题目:实验六——循环结构程序练习总结

      本次课学习到的知识点:(5分)

          (1)…….

          (2)……..

            ………..

      2. 实验过程中遇到的问题及解决方法:(10分)

           (1)

           (2)

              …….

      3. 实验心得体会及本章学习总结(5分)

            ………

       四、  预习下次课:

      预习教材P96-103页中函数的定义,并完成练习5-1、练习5-2,下节课上课前带入实验室进行检查(10)

       五、  本次作业评价方式:

      总分100分:其中,coding中程序提交70分(根据代码的步骤、格式、注释、结构正确性来酌情分配),博客书写30分;,延迟一天扣10分,直至扣完100分,如果后期想要拿回本次的100分,就需要完成附加题来弥补,根据完成情况给出不超过100分。

      C语言程序设计第6堂作业