第二次作业循环结构学习总结

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.对比体会:变量名能少就少,太多了反而会让自己看的时候难受,不好看变量变化一一对应。以后可以多多对比同学与自己的思路。
原文地址:https://www.cnblogs.com/ttyppt/p/9864542.html