当前位置: 首页 > news >正文

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上总是显示部分正确。
解决方法:1231958-20171110193000981-1264893091.png
输入13,结果正确;
1231958-20171110193054263-1459702592.png
输入19,则没有从大到小排序。
1231958-20171110193200794-866527477.png
调试代码,发现循环时从主循环i(一分硬币)开始,由最小值1慢慢循环,直至结果最大,体现不出从大到小排序。与题目要求输出k(5分硬币)的最大值也不相符;所以调整循环位置,k变为主循环,i为嵌套循环。并且k,j,i从最大值开始循环,直至结果最小。通过下图改变循环主次,循环方向,得出正确答案。
1231958-20171110193836309-236264455.png


4.本题PTA提交列表

1231958-20171110194034731-1126303738.png



题目2:

2 .设计思路

1231958-20171110202059450-737822219.png

1231958-20171110201942169-91828133.png

3.本题调试过程碰到问题及解决办法

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

4.本题PTA提交列表

1231958-20171110210223294-357548432.png


题目3:7-8 餐饮服务质量调查打分

2 .设计思路

1231958-20171111181319278-1507944643.png

3.本题调试过程碰到问题及解决办法

问题:不知道怎么输出*,发现自己只能输出1:,而没有'星号',且不知道如何使'星号'叠加
解决方法:利用switch语句并定义一个变量储存grade个数,当grade等于相应分数,则叠加,再利用循环嵌套输出'星号'。

4.本题PTA提交列表

1231958-20171111182129763-754453076.png

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

1231958-20171111182152434-1361225305.png

三、同学代码结对互评

1.互评同学名称

李梦冰

2.我的代码、互评同学代码截图

  • 我的代码
    1231958-20171111182608263-814120905.png

  • 梦冰的代码
    1231958-20171111182645653-1688336558.png

分析梦冰的好与坏

不好:梦冰的代码没有体现题目的原意,题目是说:“按从小到大的顺序输出所有不超过2n−1的梅森数,每行一个。如果完全没有,则输出“None”。”。说明要循环一个周期后,完全没有的情况下输出none,而她是n=1,输出none,虽然结果正确,但是取巧了。没有设置一个变量来记录出现素数的情况。
好:梦冰的代码每一行都有注释,看了她的代码,我很容易看出了代码代表的意义。清晰明了,这样的代码即使出现错误,也容易调试找出错误。对于一个打代码的人,特别理解给代码注释的痛苦,梦冰这种难能可贵的精神值得每个人学习!

对比

我:我的代码从n=2开始,没有考虑1的情况,不严谨。而且没有注释,自己看自己的代码都需要时间来判断代码意义,还有定义变量很随意。
梦冰:代码很严谨,详情参照上述好与坏。

三、本周学习总结

1.你学会了什么?

学会了如何使用嵌套循环解决问题,学会了利用流程图代替语言说明设计思路。初步学会了利用伪代码解决难题,这样比起一开始没有思路而盲目打代码,情况好多了。
实参:主调函数的参数,可以为常量,变量,表达式。
形参:调用函数的参数,必须为变量。
函数通过将实参的值单向复制给形参,而且定义形参的值不会影响实参的值单向复制给形参。
定义自定义函数时,需要函数声明,定义,调用,结果返回。

2.本周的内容你还不会什么?

不会函数题目,因为才开始接触,不熟悉,多做题就好多了。

3.你碰到什么困难,打算如何解决?

终于会利用调试找出问题,但是有一些问题并不是利用调试能够找不出的,这个就很烦。看见同学莫名其妙改动一些代码,让代码变正确,而自己却不懂这些改动的意义,这就很无力。
不过我知道他们此刻的正确是通过无数遍尝试造就的,所以自己想要进步,多练必不可少。

小结

  感觉自己这一周进步比较大,很多代码错误都是通过自己调试找出的,而不是一味问同学。其次,写设计思路再也不痛苦了,因为流程图真的是一个好东西。通过流程图可以把很多思路清晰简单的表达出来,而过去写思路用语言表达太过于空洞。尽管一开始写流程图效率确实很低,但是进步的空间也是比较大的。最后,发现以前学的东西真的要会用,这次嵌套作业,我用了很多以前的分支知识,学以致用的感觉真的很爽。

转载于:https://www.cnblogs.com/yfrnb/p/7815500.html

相关文章:

  • java获取当前上一周、上一月、上一年的时间
  • mysql-proxy实现读写分离
  • Linux基本命令—权限管理、文件搜索、帮助、压缩解压、网络通信
  • 中英文金额大写转换器
  • 计算机基础作业
  • 应急响应小总结
  • 课后作业-阅读任务-阅读提问-3
  • HttpClient实现POST参数提交
  • 代码式书写404页面
  • idHttp 中GET POST应用
  • 超级小的web手势库AlloyFinger
  • java中的字符串二
  • [转]Ubuntu安装rabbitMq
  • 如何下载中文语言包让Eclipse汉化?
  • 20171121_Python学习六周二次课(11月21日)
  • [PHP内核探索]PHP中的哈希表
  • 3.7、@ResponseBody 和 @RestController
  • AHK 中 = 和 == 等比较运算符的用法
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript HTML DOM
  • JS函数式编程 数组部分风格 ES6版
  • leetcode386. Lexicographical Numbers
  • MYSQL 的 IF 函数
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Otto开发初探——微服务依赖管理新利器
  • Redis 中的布隆过滤器
  • SpringCloud集成分布式事务LCN (一)
  • Spring核心 Bean的高级装配
  • 给初学者:JavaScript 中数组操作注意点
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 计算机常识 - 收藏集 - 掘金
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 那些年我们用过的显示性能指标
  • 前端
  • 前端面试之CSS3新特性
  • 深入 Nginx 之配置篇
  • 微服务入门【系列视频课程】
  • 用简单代码看卷积组块发展
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • Prometheus VS InfluxDB
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • #{}和${}的区别是什么 -- java面试
  • $refs 、$nextTic、动态组件、name的使用
  • (1)(1.9) MSP (version 4.2)
  • (C语言)逆序输出字符串
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (转)jdk与jre的区别
  • (转)Sublime Text3配置Lua运行环境
  • .bat批处理出现中文乱码的情况
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core使用ef 6
  • .NET 读取 JSON格式的数据