C语言博客作业02--循环结构
1.本章学习总结
1.1 思维导图
1.2 本章学习体会及代码量学习体会
1.2.1 学习体会
- 这两周我们进一步学习循环结构的其余内容,学习了除for语句以外的两种循环语句——while和do while语句,以及转移语句——break和continue语句,还学习了循环的嵌套,可用于解决一些单层循环解决不了的问题。但这一部分内容仍然处于我在暑假学习的那一部分内容之内,所以在这两周的学习中也并没有遇到什么不懂的地方。
1.2.2 代码累计
2.PTA总分
2.1截图PTA中循环结构2次题目集的排名得分
2.2 我的总分:290
3.PTA实验作业
3.1 PTA题目1
- 猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
3.1.1 算法分析
3.1.2 代码截图
3.1.3 测试数据
3.1.4 PTA提交列表及说明
- 本题我有在编译器进行调试,确认无误后再提交,但提交后却发现仍有错误,经仔细检查发现是输出的Game Over拼写有误,改正后就全部正确了
3.2 PTA题目2
- 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。
3.2.1 算法分析
3.2.2 代码截图
3.2.3 测试数据
3.2.4 PTA提交列表及说明
- 本题的错误只有一开始的空格输出有问题,之所以会选这道题是因为我用了3种方法来解这道题,最开始我用了数组,后来思考如何不用来解题,于是就有了另外两种解法
3.3 PTA题目3
- 本题目要求读入菱形起始字母和菱形的高度,然后输出空心字符菱形。所谓“空心菱形”是指:每行由两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;上半部分相邻两行字符串长度差2,且字母从给定的起始字母逐一递增;下半部分与上半部分对称。
3.3.1 算法分析
3.3.2 代码截图
3.3.3 测试数据
3.2.4 PTA提交列表及说明
- 这道题我刚开始做的时候让我苦恼了很久,代码刚写出来的时候错误非常的多,于是我就在原代码上进行疯狂的修改,虽然最后做出来了,但代码也变得面目全非,即使是我自己也很难解释清楚为什么要这么做,后来听老师讲了这道题之后,我就把这段代码重写了一遍,于是就有了现在的解法
4.代码互评
4.1 代码截图
- 同学的代码
- 我的代码
4.2 二者的不同
- 1.两种方法均为正确解法,同学的代码更为简短,我的代码虽然更长但效率更高
- 2.同学的方法不需要添加if来保证每种硬币至少有一枚,而我的则需要
- 3.两种方法均用到了循环的嵌套,同学的代码嵌套了三次,我的代码嵌套了两次,虽然因此同学的代码相较与我来说会相对简短一点,但我的代码却有更高的效率