一、  本次课主要内容:

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

二、 实验内容:(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堂作业的更多相关文章

  1. C语言程序设计第4堂作业

    大家注意:本次作业稍有增加,由于放假期间大家空闲时间比较充足,将之前学习过程中遗留的问题必须在假期解决.   本次课学习主要内容: 分支结构中的二分支结构.多分支结构和else-if语句 掌握字符型数 ...

  2. C语言程序设计第9堂作业

    一.本次课主要内容: 本章将散布在前五章中的数据类型和表达式等内容做了归纳性的汇总,本次课需要掌握以下两个方面: (1)本次课通过从数据在计算机内的存储格式入手,介绍整型.字符型.单精度和双精度实型四 ...

  3. C语言程序设计第5堂作业

    一.本次课学习主要内容及知识结构点: 二.实验内容:(60分) 1. 求奇数和.输入一批正整数(以零或负数为结束标志),求其中的奇数和.试编写相应程序. 2. 展开式求和.输入一个实数 x,计算并输出 ...

  4. C语言程序设计第10堂作业

    一.本次课主要内容: 本次课程学习数组,一种最基本的构造类型,它是一组相同类型数据的有序集合.数组中的元素在内存中连续存放,每个元素都属于同一种数据类型,用数组名和下标可以唯一地确定数组元素: (1) ...

  5. C语言程序设计第8堂作业

    一.本次课主要内容: 本次课通过以下两个知识点来完成: (1)以数字金字塔为例,介绍函数的另一种形式,即不返回结果的函数.不返回结果的函数在定义.调用.参数传递.函数声明上,思路完全与以前相同,只是函 ...

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

         一.本次课主要内容: 本次以计算圆柱体体积为例,通过定义体积计算功能的函数和主函数调用的例子,引出函数定义的一般形式:函数首部加函数体,且在函数结尾处通过return 语句返回结果.本节要重 ...

  7. C语言程序设计第六次作业——循环结构(2)

    C语言程序设计第六次作业--循环结构(2) 之前的博客园图片没处理好,对大家说一声抱歉.希望大家能够多多指出我的错误,我来认真修改 ^ - ^ !. (1)改错题 序列求和:输入一个正实数eps,计算 ...

  8. 2018上C语言程序设计(高级)作业- 初步计划

    C语言程序设计(高级)36学时,每周4学时,共9周.主要学习指针.结构和文件三部分内容.整个课程作业计划如下: PTA和博客的使用指南 若第一次使用PTA和博客,请务必先把PTA的使用简介和教师如何在 ...

  9. C语言程序设计第十一次作业

    同学们,一晃一个学期就过去了,第一节课时,我曾做过一个调查,没有一个同学在中学阶段接触过程序设计,也就是说,那时,大家都是零基础,或许只是听说过"C语言"这个词,但其他便一无所知了 ...

随机推荐

  1. 安装idea开发工具

    1.网上去下载一个安装包,有的是需要注册码的(可以网上搜索注册码) 2.设置快捷键,可以直接选择使用eclipse的快捷键 3.配置maven 4.配置Git 5.配置tomcat

  2. js递归方法创建节点

    var jsonData = [{,,"subnetRemark":"状态自带","subnetName":"中心网络" ...

  3. EntityFrameWork使用MySql数据库分页的BUG

    环境 使用MySQL Connector NET 6.7.4+EF5.0+VS2010 问题描述 IQueryable<T>类型的Where方法和Skip或Take方法一起使用时,生成的S ...

  4. javascript之AJAX学习

    1.AJAX即Asynchronous Javascript+XML.能够向服务器请求额外的数据而无需卸载页面.  AJAx技术的核心是XMLHttpRequest对象(XHR). 2.AJAX只能向 ...

  5. iOS:didSelectRowAtIndexPath:方法失效解决办法

    问题描述及解决过程: 为了达到点击TableView空白区退出键盘的效果,给控制器注册了一个UITapGestureRecognizer来识别点击事件,代码如下: #pragma mark - 设置手 ...

  6. Zadig - USB driver installation made easy

    http://zadig.akeo.ie/

  7. 如何用fir.im 命令行工具 打包上传

    1.注册fir.拿到token 2.安装 fir-cli 使用 Ruby 构建, 无需编译, 只要安装相应 gem 即可. $ ruby -v # > 1.9.3 $ gem install f ...

  8. Linux 文件访问权限

    定义:<sys/stat.h> 每个文件有9个访问权限,可将其分为3类: 标记 含义 S_IRUSR 用户读 S_IWUSR 用户写 S_IXUSR 用户执行 S_IRGRP 组读 S_I ...

  9. spark发行版笔记11

    本期概览: ReceiverTracker架构设计 消息循环系统 ReceiverTracker具体的实现 Spark Streaming作为Spark Core基础 架构之上的一个应用程序,其中的R ...

  10. ORACLE行转列通用过程

    create or replace procedure row_to_col(tabname in varchar2,                                   group_ ...