C语言I博客作业08
| 这个作业属于那个课程 | C语言设计II |
|---|---|
| 这个作业的要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 |
| 这个作业的目标是 | 写一些简单的程序,为学习其他语言打基础 |
| 这个作业在那些具体方面帮我实现目标 | PTA实验作业 |
| 参考文献 | C语言程序设计 Inter |
1.PTA实验作业
1.1在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
1.1.1数据处理
- 数据表达:只定义了一个i
- 数据处理:用i直接表示士兵数,然后用了for语句,再加上了if结构
![]()
1.1.2实验代码截图
1.1.3造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 无输入 | 2111 | 无输入 |
1.1.4PTA提交列表说明
-
- 答案错误:有while语句把循环放在里面答案错误,不知道为什么。改变思路
- 答案错误:改了思路用for语句把最后一个满足条件丢了。对比上面题目
- 运行超时:没有用break语句终止循环。后来devc++编译一大串。别人正好有这种错误,就帮我改正了。
1.2一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的
1.2.1数据处理
- 数据表达:定义了五个变量,N,D,U,s,t.
- 数据处理:s,t分别表示路程和时间,用while语句,路程等于原来路程加上走的,算出时间加上后面掉下去的时间
![]()
1.2.2实验代码截图
1.2.3造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 12 3 1 | 11 | 满足题目 |
| 101 32 12 | 0 | 如果N大于100时题目会输出0 |
| 32 12 13 | 0 | 如果D>U时也是输出0 |
1.2.4PTA提交列表说明
-
![]()
-
编译错误:一开始标点符号打错了。一个个看的。
-
编译错误:直接用了数学公式表达式把题目写出。想了想可能表达式有问题。
-
编译错误:分成两部分将一部分计算路程一部分时间。
-
编译错误:中间没有用if 条件。要判断,所以要if结构
-
编译错误:第二部分没有写时间。以为第一部分直接算了,后来想起来还有滑下去时间
-
编译错误:后面写成了路程加那个D了。和别人讨论发现自己的思路有点问题。
-
答案错误:在devc++写的,到pta上面忘记写那个后面的一段式子了。
-
输出超限:没有写break语句使得循环一直进行。devc++直接爆屏,后来想到要break终止
-
部分正确:后面时间是要加上去,我用上个时间减去下个了。和别人的代码对比法不同
-
部分正确:if()里面条件是>=写成>。因为显示部分正确就是那里条件有问题,题目是不超过,所以是>=
2.代码互评
同学代码
-
自己代码
-
![]()
-
1第一位同学用了do while 结构,而且数学思路和我一样,但是我没有那样写,他时间是减的,我开始也是这样想的
-
2第二位同学用的if语句贯穿,说明很熟悉if结构,使得代码易懂
-
3我是用来while语句嵌入if语句,所以做起来较难,比如之间还有break的使用,所以他们相对简洁一点
3.学习总结
3.1学习进度条
| 周期/日期 | 本周时间 | 代码行数 | 学到那些知识 | 目前比较疑惑的问题 |
|---|---|---|---|---|
| 第七周/10/7-10/10 | 两天 | 273 | 输入语句scanf(),if-else语句 | double浮点型变量 |
| 第八周/10/16~10/18 | 17h | 400 | for语句,输出华氏-摄氏温度转换表 | for语句中较为复杂的问题还不能熟练解决 |
| 第九周10/23~10/26 | 20h | 587 | 主函数,被调函数,形参和实参 | 模仿和编写程序还是有点不会 |
| 第十周10/29~11/03 | 20h | 813 | if嵌套,字符型变量 | 对于取余数和相除,还有ASCII码有点不理解 |
| 第十一周11/5~11/8 | 16h | 1027 | switch语句处理多分支结构 | switch里面的常量表达式怎样去写 |
| 第十二周11/13~11/16 | 12h | 1134 | 熟悉使用while和do-while结构解决问题 | 对于进制转化还有些不熟悉 |
3.2累计代码行数和博客字数
3.3学习总结和感悟
3.3.1学习内容总结
- 1学习了while和do while语句,了解两者不同
- 2巩固字符运用
- 3了解了一些进制转化
- 思维导图
![]()
![]()
3.3.2学习感悟
-这周作业还挺适合我们的,使我们更容易上手,只是最后一个还有点难做。不过多学习应该会做一点。时间安排还是不合理,每次时间一长就不想做作业,这个习惯需要改。












浙公网安备 33010602011771号