C语言I作业09

第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10030
我在这个课程的目标是 熟悉使用循环的嵌套解决问题。
这个作业在那个具体方面帮助我实现目标 break,continue在循环结构中的使用,嵌套内外循环
参考文献 C语言程序设计,百度

1.PTA实验作业

1.1 题目名1

换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法? 输入格式: `输入在一行中给出待换的零钱数额x∈(8,100)。` 输出格式: `要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。` 输入样例: `13` 输出样例: `fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 4` **1.1.1数据处理** 数据表达:整型(int)定义变量z,x,y,f,count,total。 数据处理: ``` 开始 z←0,x←0,y←0,f←0,count←0,total←0 输入 x for z←x/5 to 0 z←z-1 y←(x-z*5)/2 for y>0 y←y-1 f←x-z*5-y*2 if f>0 then total←z+f+y 输出fen5:%d, fen2:%d, fen1:%d, total:%d count←count+1 end for end for 输出count 结束 ```

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
8 fen5:1, fen2:1, fen1:1, total:3 count = 1 最小钱数
0 count = 0 小于最小钱数

1.1.4 PTA提交列表及说明

  • 其实还是有错误的开始对计算2分钱的不是很理解,后想明白先分配5分钱在分配2分钱,利用俩个for循环外层计算5分钱,内层计算2分钱。

1.2 题目名1

找完数
**1.2.1数据处理** 数据表达:整型(int)定义变量n,m,sum,s。 数据处理: ``` 开始 定义变量 整型定义最小n,最大m,和sum,s。 输入 n,m for i←n to m i←i+1 sum←0 for j←1 to i j←j+1 if i%j==0 then 累加sum←sum+j end for if sum==i then 输出 i(i的值) = 1 for j←2 to i j←j+1 if i%j==0 then 输出 + j(j的值) 换行 s←1 end for if s←0 then 输出None 结束 ``` **1.2.2实验代码截图** ![](https://img2018.cnblogs.com/blog/1809015/201911/1809015-20191122172904580-2024533437.png)

1.2.3 造测试数据

输入数据 输出数据 说明
6 6 6 = 1 + 2 + 3 n等于m
2 4 None 无完数
2 6 6 = 1 + 2 + 3 有完数
6 2 None n大于m
1.2.4 PTA提交列表及说明
  • 部分正确:开始不理解j可以除以的范围,通过一步步的调试发现,j与i在for循环中的比较出现错误,改正为j<i。

2.代码互评

代码互评 代码1 代码2
同学代码
我的代码 ......
  • 不同点:我们之间的不同点在于计算奇数时候判断的条件不同,改同学运用取余的方式,一眼看过去不是很好理解。
    同学代码2,比我的代码要简洁了一些,代码只使用了一个if-else语句把我的两个for语句概括了。我认为最优的代码是同学代码2。
  • 相同点:思路大概一样。
    3.学习总结
    思维导图

    3.1 学习进度条
这周所花的时间 代码行 学到的知识点简介
一周 4个小时 50行 简单的打印字句
二周 5个小时 85行 提问的智慧
三周 12小时 132行 if-else语句的使用,基本数字的定义,分段函数的计算
四周 6个小时 97行 for循环语句的使用
五周 6个小时 190行 简单函数的定义和调用,while语句,break终止语句
六周 6个小时 260行 镶嵌型的for,if-else语句,逻辑运算,字节符的函数表达,switch语句的使用
七周 6个小时 300行 简单的数组储存问题,冒泡排序
八周 6个小时 310行 简单的结构体
九周 4个小时 300行 break、continue的使用
  • 该解决的问题
  • [完成] 冒泡排序

3.3 学习内容总结和感悟
3.3.1 学习内容总结

1.break
用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环。
2.continue
continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环。

3.3.2 学习体会

  • 又要感叹为啥子这周又这么快过去了。说真的好快啊。
  • 感觉时间分配很重要,做题目我感觉要有思路就是了,多多调试就可以发现新大陆。而对于题目我感觉就是要多想,虽然有些时候我不想多想。但是还是要自己每天都想不会的那个题目,如果很多天后还是不会那就再去看答案。

😄

posted @ 2019-11-22 18:08  kame呦呦  阅读(220)  评论(2编辑  收藏  举报