C语言博客作业--嵌套循环
一、PTA实验作业
题目1:7-4 换硬币
2 .设计思路
- 第一步:定义3个整型变量i,j,k用于循环,定义3个整型变量x,count,total分别用于储存零钱数额,换法个数,硬币数量;
- 第二步:输入x,判断3个循环条件,是否同时满足条件x=i+2j+5k;
- 第三步:如果满足,计算硬币总数,输入结果,count加1,并重复步骤2;
- 第四步:如果不满足,重复步骤2,直至循环结束。
- 第五步:输出count数量;
3.本题调试过程碰到问题及解决办法
问题:pta上总是显示部分正确。
解决方法:
输入13,结果正确;

输入19,则没有从大到小排序。

调试代码,发现循环时从主循环i(一分硬币)开始,由最小值1慢慢循环,直至结果最大,体现不出从大到小排序。与题目要求输出k(5分硬币)的最大值也不相符;所以调整循环位置,k变为主循环,i为嵌套循环。并且k,j,i从最大值开始循环,直至结果最小。通过下图改变循环主次,循环方向,得出正确答案。

4.本题PTA提交列表

题目2:
2 .设计思路


3.本题调试过程碰到问题及解决办法
问题1:repeat=1时结果正确,但是repeat=2时,不能进入循环。
如图,i=1,但是并没有执行循环,反而程序结束。
解决方法:return 0;在循环内,所以执行return时,程序结束。
问题2:在dev上答案都是正确,但是pta结果错误,开始调试
解决方法:
当i=1时,答案无误,但是max=91,min=85,而不是一开始的max=0,min=100,造成结果错误。
所以把max=0,min=100放在主循环内,当i++时,重新对max,min赋值!
4.本题PTA提交列表

题目3:7-8 餐饮服务质量调查打分
2 .设计思路

3.本题调试过程碰到问题及解决办法
问题:不知道怎么输出*,发现自己只能输出1:,而没有'星号',且不知道如何使'星号'叠加
解决方法:利用switch语句并定义一个变量储存grade个数,当grade等于相应分数,则叠加,再利用循环嵌套输出'星号'。
4.本题PTA提交列表

二、截图本周题目集的PTA最后排名

三、同学代码结对互评
1.互评同学名称
李梦冰
2.我的代码、互评同学代码截图
我的代码

梦冰的代码

分析梦冰的好与坏
不好:梦冰的代码没有体现题目的原意,题目是说:“按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。”。说明要循环一个周期后,完全没有的情况下输出none,而她是n=1,输出none,虽然结果正确,但是取巧了。没有设置一个变量来记录出现素数的情况。
好:梦冰的代码每一行都有注释,看了她的代码,我很容易看出了代码代表的意义。清晰明了,这样的代码即使出现错误,也容易调试找出错误。对于一个打代码的人,特别理解给代码注释的痛苦,梦冰这种难能可贵的精神值得每个人学习!
对比
我:我的代码从n=2开始,没有考虑1的情况,不严谨。而且没有注释,自己看自己的代码都需要时间来判断代码意义,还有定义变量很随意。
梦冰:代码很严谨,详情参照上述好与坏。
三、本周学习总结
1.你学会了什么?
学会了如何使用嵌套循环解决问题,学会了利用流程图代替语言说明设计思路。初步学会了利用伪代码解决难题,这样比起一开始没有思路而盲目打代码,情况好多了。
实参:主调函数的参数,可以为常量,变量,表达式。
形参:调用函数的参数,必须为变量。
函数通过将实参的值单向复制给形参,而且定义形参的值不会影响实参的值单向复制给形参。
定义自定义函数时,需要函数声明,定义,调用,结果返回。
2.本周的内容你还不会什么?
不会函数题目,因为才开始接触,不熟悉,多做题就好多了。
3.你碰到什么困难,打算如何解决?
终于会利用调试找出问题,但是有一些问题并不是利用调试能够找不出的,这个就很烦。看见同学莫名其妙改动一些代码,让代码变正确,而自己却不懂这些改动的意义,这就很无力。
不过我知道他们此刻的正确是通过无数遍尝试造就的,所以自己想要进步,多练必不可少。
小结
感觉自己这一周进步比较大,很多代码错误都是通过自己调试找出的,而不是一味问同学。其次,写设计思路再也不痛苦了,因为流程图真的是一个好东西。通过流程图可以把很多思路清晰简单的表达出来,而过去写思路用语言表达太过于空洞。尽管一开始写流程图效率确实很低,但是进步的空间也是比较大的。最后,发现以前学的东西真的要会用,这次嵌套作业,我用了很多以前的分支知识,学以致用的感觉真的很爽。
C语言博客作业--嵌套循环的更多相关文章
- C语言博客作业—嵌套循环
一.PTA实验作业 题目1:7-4 换硬币 1. 本题PTA提交列表 2. 设计思路 (1)定义整型变量money表示待换的零钱总额,p5表示5分硬币的数量,p2表示2分硬币的数量,p1表示1分硬币的 ...
- C语言博客作业06——结构体&文件
C语言博客作业06--结构体&文件 1.本章学习总结 1.1思维导图 1.2.本章学习体会 在本周的学习中,我们学习了关于结构体和文件的内容.结构体的本身并不难,但以结构体为基础的链表还是让我 ...
- C语言博客作业6---结构体&文件
C语言博客作业6---结构体&文件 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容.如下图所示: 1.2.学习体会 描述本周学习感受,也可以在这里提出你不理解地方.对 ...
- C语言博客作业5--指针
C语言博客作业5--指针 1.本章学习总结(2分) 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里 ...
- C语言博客作业4--数组
C语言博客作业4--数组 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言博客作业3--函数
C语言博客作业3--函数 1.本章学习总结 1.1思维导图 请以思维导图总结本周的学习内容,如下图所示: 1.2本章学习体会及代码量学习体会 1.2.1学习体会 描述本周学习感受,也可以在这里提出你不 ...
- C语言|博客作业10
问题 回答 C语言 博客作业10 这个作业要求在哪里 作业要求 我在这个课程的目标是 熟练循环语句的用法 这个作业在哪个具体方面帮助我实现目标 pta作业 参考文献 <C语言程序设计> 1 ...
- C语言Ⅰ博客作业09
这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10029 我在这个课程的 ...
- C语言博客作业08
C语言I博客作业08](https://www.cnblogs.com/490-85-00-58-/p/11863312.html) 问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求 ...
随机推荐
- pat1011-1020
一开始几道题写到吐血,真的自己现在好弱 1011 水题不说了 #include<bits/stdc++.h> using namespace std; const int N = 105; ...
- windows下安装MongoDB进度条不动
windows 下安装MongoDB, 在 Installing MongoDB Compass...(this may take a few minutes) 一步,会停留很长时间,点击取消可能也会 ...
- ThinkCMF的跳转303 404等页面的方法
1. 控制器方法: return $this->redirect('http://www.thinkcmf.cmf',[],301); 或者助手函数: return redirect('http ...
- Maven 搭建 SSM 项目 (oracle)
简单谈一下maven搭建 ssm 项目 (使用数据库oracle,比 mysql 难,所以这里谈一下) 在创建maven 的web项目时,常常会缺了main/java , main/test 两个文件 ...
- mount挂接命令使用
挂接 操作系统 1.-t vfstype 指定文件系统的类型,通常不必指定.mount 会自动选择正确的类型.常用类型有: 光盘或光盘镜像:iso9660 DOS fat16文件系统:msdos Wi ...
- 【机器学习】正则化的线性回归 —— 岭回归与Lasso回归
注:正则化是用来防止过拟合的方法.在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数.但是一直也无法对其基本原理有一个透彻.直观的理解.直到最近再次接触到这个概念 ...
- 搭建maven
1. 下载安装包 打开网址https://maven.apache.org/download.cgi,找到下面这个文件进行下载 2. 解压安装 解压刚下载地文件到自己想要得目录下 3. 配置环境变量 ...
- 使用git工具快速push项目到github(精简)
Dear Weber ,相信有很多刚开始接触前端的程序猿,在刚接触到git工具传项目到github上时会遇到一些问题,那么下面的话呢,我就整理一下一个大致的思路提供给大家参考: 工具:git (自行下 ...
- 关于Android SDK Manager更新速度慢的解决方法
因为我的C盘比较小,android sdk安装在c盘那么他下载的东西也会默认在c盘.所以我选择安装在其他的盘.而且我发现android sdk manager可以开多个窗口,这样的话如果每个窗口都很慢 ...
- 关于win8/win8.1系统不能调节亮度的解决办法
有时候我们重装了win8系统之后开始可以调节亮度,但是再重新安装了显卡驱动之后发现不能调节亮度了,解决办法就是添加一项注册表. 下载地址:http://7xnarc.com1.z0.glb.cloud ...