C语言I博客作业08
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 |
这个作业的目标 | <熟练掌握break和continue对循环的作用,还有熟悉循环的嵌套> |
学号 | <20209130> |
一、本周教学内容&目标
第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。
二、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
三、作业格式
1.PTA实验作业(20分/题)
1.1 7-2 打印九九口诀表 (15分)
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
1.1.1数据处理
数据表达:用了变量i,j,N,全是整型变量,N是自然输入得来,i,j是随for循环而变化。
数据处理:表达式:i++,j++,i<=N,j<=i
流程结构:for循环结构,for循环的嵌套。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
5 | 为5*5乘法表 | 代码可得到5*5乘法表 |
7 | 为7*7乘法表 | 代码可得到7*7乘法表 |
9 | 为9*9乘法表 | 代码可得到9*9乘法表 |
1.1.4 PTA提交列表及说明
提交列表说明:
1.格式错误:忽略了等号右边数字占4位,导致格式不对,之后把%d*%d=%d改为%d*%d=%-4d。
2.编译错误:我用printf语句多加上了输入提示,导致编译错误,之后去掉了提示。
3.答案错误:我把0也算进去了,导致答案不符,之后把i和j重新赋值为1.
1.2 7-4 一钱生多钱 (10分)
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。
编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.2.1 数据处理
数据表达:用了n,i,j,k这些变量,它们都是整型变量,n是自然输入得来,i,j,k都是随for循环变化而来。
数据处理:表达式:i<=n,i++,j<=n,j++,k<=n,k++,i*5+j*2+k*1==n
流程结构:用了for循环结构和if分支结构。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8 | five=1,two=1,one=1 | 只有一个兑换方式 |
11 | five=1,two=1,one=4 five=1,two=2,one=2 | 有两种兑换方式 |
15 | five=1,two=1,one=8 five=1,two=2,one=6 five=1,two=3,one=4 five=1,two=4,one=2 five=2,two=1,one=3 five=2,two=2,one=1 | 有六种兑换方式 |
1.2.4 PTA提交列表及说明
提交列表说明:
1.答案错误:少了{}这个大括号,然后一没注意把printf语句放在了for语句里而不是if语句里,之后加上{}把printf用空格退到if语句里了。
2.答案错误:最后输出答案时忽略了five等的存在,直接用%d输出,导致错误,之后把%d改为five=%d,其余两个同样。
2.代码互评(5分)
同学代码截图:
自己代码截图:
1.对变量的处理习惯不同,我习惯在之后一次性处理完,而同学习惯打出一个语句后处理一下,再打下一个语句。
2.对语句中的括号的使用不同,我习惯在for等语句之后直接加括号{,而同学习惯换行再加括号{。
同学代码截图:
自己代码截图:
1.对语句的使用习惯不同,同学习惯使用while循环语句解决问题,而我习惯使用for语句解决问题。
2.对嵌套的使用不同,同学习惯嵌套if语句而不使用循环语句的嵌套,而我习惯嵌套循环语句进去。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 20h | 400 | 什么是主函数;代码的储存单元;会打“hello world” | 无 |
第九周 | 24h | 450 | 三个程序结构;各种数据类型;if-else语句的使用 | 无 |
第十周 | 28h | 500 | 三个运算的优先级;for循环语句的使用;会输出转换表 | for循环的嵌套有些不会 |
第十一周 | 30h | 600 | 进一步熟悉for循环语句;调用数学函数;自己定义函数 | 自己定义函数不太熟练 |
第十二周 | 28h | 580 | 更进一步学习了多种分支结构的使用;学会了逻辑控制符;学会了else-if语句; | 对多种分支结构的使用不太熟练,无法灵活使用 |
第十三周 | 34h | 650 | 明白了逻辑控制符和其他运算符之间的优先级的区别;学会了switch语句;预习了多分支结构的另一种用法; | 对多分支结构运用太过死板,想到一种就只会使用一种 |
第十四周 | 36h | 680 | 学习了while和do-while循环语句 | while和do-while循环不能灵活运用 |
第十五周 | 24h | 500 | 无 | 无 |
第十六周 | 34h | 760 | 学习了break和continue的使用;循环语句的嵌套 | 对嵌套中的break和continue语句的使用有时会混乱 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1.这周pta作业加了选择和填空题,感觉挺不错,还有这周的学习比上周还是好很多的,没有上上周那么懵了,但还是对嵌套不怎么熟练。
2.这周打代码还是可以的,这周打代码的量比任何一周都要多,作业是一个原因,但还有对break和continue语句的熟练也占了很多,整体看还是很不错的。
3.对代码的思考这一方面,这周也还勉强算满意吧,也算有所收获,打代码的逻辑清晰了一些。
4.这周好的地方有很多,但不足的地方还是有的,比如这周的训练除了作业里要使用嵌套外,其他时候都只是去练break和continue语句,觉得嵌套好麻烦没去练了,这样不行,不能退缩。
5.下周还是要保持状态,继承这周的优点,摒除这周的缺点,回回进步,自然就越来越好,继续加油!!冲!!!
跳出多重循环的方法:
1.brreak语句:break语句可以直接跳出循环,终止循环。
2.使用循环条件:巧妙设置循环条件,让循环在想要的地方终止。
3.使用goto语句:goto语句可以进行跳转,可以直接跳转到终止循环。