第二次作业---循环结构学习总结
1.本章学习总结
1.1思维导图
1.2本章学习体会及代码量
1.2.1 学习体会
- 这一周学习下来,收获很多,有知识上的,也有精神上的。感觉到循环是要比之前学习的内容难,对于我来说做题要花大量的时间,做题的速度还是太慢了,而且会心急,有时候没沉下心来做,写伪代码还没有熟练。写代码真的磨了我炸毛的毛病,因为我静不下来有可能一直写不出来。。。。
- 慢慢改变自己对上大学的态度,对生活的观念也有些感触。哪里的知识点老师讲的时候我是否完全理解了,而且我是否会用,具体的操作还要我在题目中去落实。这是我接下来需要锻炼的东西。
- 需要改正的地方:在看到题目时,不要慌,如果没有思路就一步一步写算法分析,不要纠结看题目,一些编译的错误要避免,比如没加&,运行与题目结果一样也要核对一遍,避免格式错误。
1.2.2代码累计
2.PTA总分
2.1两次循环题排名截图
2.2我的总分
- 循环单层:168分
- 循环嵌套:90分
- 总分:258分
3.PTA的实验作业
3.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提交列表及其说明
- Q1.这道题的思路应该是很清晰的,但忽略了题目所说的达N次之前输入一个负数同样输出“Game Over“
- A1.用while循环来实现,保证yournumber为正数
- Q2.没有考虑如果yournumber<时也输出“Game Over“
- A2.在循环之外加yournumber<时也输出“Game Over“
3.2题目简介
模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。
3.2.1算法分析
3.1.2代码截图
3.1.3测试数据
3.1.4提交列表及其说明
- Q1.虽然提交列表只有两个,但是我在c++上运行了很多次,开始的时候不知到从哪里下手?
- A1.在看了同学的代码之后l理清了思路,慢慢的写算法分析,而不是看题目,一步一步来。
- Q2.没有考虑其他非法字符
- A2.在判断条件处加除却非法字符
3.3题目简介
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
3.3.1算法分析
3.3.2代码截图
3.3.3测试数据
3.3.4提交列表及其说明
- Q1.不知道怎么把total表示为从小到大?
- A2.采用递减的方式,实现total 像题目一样从小到大排
- Q2.思路没错,但答案错误,编译的结果也和题目一样
- A2.total的输出是 :,而不是=
代码互评
4.1题目
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
同学的代码
我的代码
4.2两者的代码
- 1.不同之处我的代码是采用c=number/pow(10,i-1);来去数字,方便实现输入对应数字同学是用n=t/mask;t%=mask;mask/=10;的方式实现取数
- 2.缺点:我们两个的代码都没注释,这样很多变量用在什么地方变化其他人看来是晦涩难懂的。
- 3.对比体会:变量名能少就少,太多了反而会让自己看的时候难受,不好看变量变化一一对应。以后可以多多对比同学与自己的思路。