这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 |
我在这个课程的目标是 | 灵活运用while语句和do-while语句 |
这个作业在那个具体方面帮助我实现目标 | PTA作业和代码分析 |
参考文献 | 《C语言与程序设计》 百度 |
1.PTA实验作业
1.1在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
1.1.1数据处理
1.1.3 造测试数据
输入数据 | 输出数据 | 备注 |
---|---|---|
无输入数据 | 2111 | 韩信最少的兵 |
- 运行超时:大概是当时没有给他它打break的代码吧,导致它一直运行下去了。这道题挺简单的。
1.2一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
1.2.1 数据处理
1.2.3 造测试数据
输入数据 | 输出数据 | 备注 |
---|---|---|
12 3 1 | 11 | 用时11分钟 |
24 5 3 | 21 | 用时21分钟 |
16 4 2 | 13 | 用时13分钟 |
- 答案错误:想了很久再打的,打上去没编译错误,但是答案错误了,后来不信邪再试了几遍,再想改动一下。
编译错误:后来我把while语句括号中的数据改为N>0&&N<100,然后它编译错误了。 后来我想到输出的是i值,然后改正才对的。
2.代码互评
互评:
1.同学用的t=t+1,这样也是可以的,但为什么不直接t++呢?
2.同学在while语句括号中写s<=N而我只写了一个N,还有一个写的1,里面的值可以这样的吗?为什么不能写N>0 之类的?
3.同学用到了if-else语句而我只用到了if语句。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
9.16~9.22 | 7h | 36行 | 编写hello world | 有些符号不知道有什么含义 |
9.23~10.3 | 19h | 22行 | 三种数据类型,算数运算 | 为什么printf 后面一定要加变量 |
10.7~10.11 | 25h | 116行 | if-else语句,输入函数scanf | 例题到底是干嘛的,好像没什么用 |
10/16~10/18 | 10h | 103行 | 学会怎么样使用for循环函数,第一次知道去调试自己的代码 | 对于for语句理解不到位,特别是在for语句中还加入了其他语句 |
10/22~10/26 | 14h | 93行 | 学会打生成乘方表与阶层表的代码 | 对于一些引入的函数不解,并不知道有这种函数 |
10.30~11.2 | 12h | 156行 | 多分支结构的if-else语句和ASCII字符集 | 不懂代码换了个先后顺序后结果不同的原因 |
11.6~11.8 | 13h | 114行 | switch语句的应用和它的方便性 | 有时候的答案错误让我头疼,很难找到原因 |
11.13~11.15 | 11h | 161行 | while语句和do-while语句 | 仍然是答案错误让人费解,感觉意思是这个意思,就是找不出哪里使答案错误。 |
3.3.2 学习体会
感觉这次作业难的难,简单的简单,我的问题就是认识的函数太少了,不会用函数,我真的得花时间去认认函数的了。