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语句可以进行跳转,可以直接跳转到终止循环。

posted @ 2020-12-20 17:35  呵丶你不懂  阅读(88)  评论(6编辑  收藏  举报