C语言|博客作业09
2019-11-22 20:36 rebirthhhh 阅读(335) 评论(1) 编辑 收藏 举报一、本周教学内容&目标
第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。
二、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://www.cnblogs.com/zjzjaaa/p/int整形结构,for语句和if语句的循环 |
我在这个课程的目标是 | 熟练掌握continue语句,break语句,使用循环的嵌套结构来写代码解决问题 |
这个作业在那个具体方面帮助我实现目标 | 学习break,continue语句结构 |
参考文献 | 百度百科,C语言程序设计教材 |
三、本周作业
- PTA实验作业
- 代码互评
- 学习总结
四、作业格式
1.PTA实验作业(20分/题)
请再此处列出自己的排名图片,如:
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:
1.1 题目名1
打印九九口诀表 (15 分)
下面是一个完整的下三角九九口诀表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
本题要求对任意给定的一位正整数N
,输出从1*1
到N*N
的部分口诀表。
输入格式:
输入在一行中给出一个正整数N
(1≤N
≤9)。
输出格式:
输出下三角N*N
部分口诀表,其中等号右边数字占4位、左对齐。
输入样例:
4
输出样例:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1.1.1数据处理
数据表达:运用了变量i,j,n。i表示行,j表示列,n就是数字。
数据处理:用到了for循环的嵌套,主要循环体结构是 (i=1;i<=N;i++) (j=1;j<=i;j++),%-4d表示等号右边数字占4位
1.1.2实验代码截图
![img](file:///D:\Documents\Tencent Files\1826959581\Image\C2C\O$GR_}P{FUFKA[Q8Y(AMYUF.png)
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
4 | 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 | 此处用符号x代替了符号*,真实输出时是符号星字符 |
1 | 1x1 | 此处用符号x代替了符号*,真实输出时是符号星字符 |
2 | 1x1=1 1x2=2 | 此处用符号x代替了符号*,真实输出时是符号星字符 |
1.1.4 PTA提交列表及说明
![img](file:///D:\Documents\Tencent Files\1826959581\Image\C2C%ANLN[KZQ3%F0}XE9V_UT.png)
提交列表说明:
编译错误:在Dev-c++上尝试了几次嵌套循环,表达式可能不对,多次答案不符,查了百度后才弄清表达式关系,一开始还忘了定义变量N,看了老师上课讲的就原班打上去发现不对,因为没有仔细读题。
1.2 题目2
将一笔零钱换成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.2.1 数据处理
- 数据表达:使用了整形变量x,i,w,a,b,c,d,count,x表示零钱数额,在循环中i储存五分硬币个数,w储存一分硬币个数,a表示最多五分硬币个数减一,b减去五分剩余的钱,c储存二分硬币个数,d减去五分和二分剩下的钱,储存换法个数。
- 数据处理:表达式:fen5:%d, fen2:%d, fen1:%d, total:%d\n,i+1,w+1,d+1,i+w+d+3。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
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 | 零钱为13时,共4种换法,8枚硬币 |
5 | count = 0 | 零钱为5时,没有换法 |
10 | fen5:1, fen2:2, fen1:1, total:4/fen5:1, fen2:1, fen1:3, total:5/count = 2 | 零钱为10时,共2种换法,5枚硬币 |
15 | fen5:2, fen2:2, fen1:1, total:5/fen5:2, fen2:1, fen1:3, total:6/fen5:1, fen2:4, fen1:2, total:7/fen5:1, fen2:3, fen1:4, total:8/fen5:1, fen2:2, fen1:6, total:9/fen5:1, fen2:1, fen1:8, total:10/count = 6 | 零钱为15时,共6种换法,10枚硬币 |
1.2.4 PTA提交列表及说明
![img](file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\1826959581\QQ\WinTemp\RichOle)5O4$IW]_C)4}JQSXG%T~}9.png)
- Q1.编译错误:硬币的赋值错误导致编译错误。
- A1.找到错误之后加了一个for语句。
- Q2:部分正确:硬币的数量没有依次从大到小的顺序
- A2:重新调换了一下顺序。
2.代码互评(5分)
同学代码截图
自己代码截图
不同点:他多用了一个for循环,其实没必要,第二个for之后就可以直接表示一分的了,那个if判断也没必要了
同学代码截图
自己代码截图
不同点:他的代码较为精简,我的走了点弯路,思路也有点不同
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十三周 | 6h | 400 | 熟悉break、continue的使用及熟悉使用循环的嵌套解决问题。 | 自己的想法不会用代码表达出来。 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
这周学习了continue和break在循环语句中的作用,使用了循环的嵌套结构来写代码解决问题,又学会了解决问题的新方法,新语句。
3.3.2 学习体会
期末考试快来了还是有点慌,有些知识还是没有弄懂,上课认真听了还不行,还得自己课后去琢磨,还需要课前预习,我发现这和高中老师牵着走有很大不同,这个必须要自己主动,还要不怕枯燥,能够坚持,持之以恒,其实自己慢慢弄明白会更有学习的动力。