C语言I博客作业08
1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/ |
---|---|
这个作业要求在哪里 | <https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11627 > |
这个作业的目标 | <是让我们继续对学习过的内容进行回顾和总结,并且让我们学习怎么使用循环嵌套语句。> |
学号 | <20209128> |
一、本周教学内容&目标
第4章 循环结构 4.3熟悉break、continue的使用 4.4 熟悉使用循环的嵌套解决问题。
二、本周作业
1.PTA实验作业
2.代码互评
3.学习总结
三、作业格式
1.PTA实验作业
1.1 题目名1
7-2 打印九九口诀表 (15分)
本题要求对任意给定的一位正整数N,输出从11到NN的部分口诀表。
11=1
12=2 22=4
13=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
16=6 26=12 36=18 46=24 56=30 66=36
17=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81
1.1.1数据处理
数据表达:本题运用的均为单精度的整型变量来完成,这些变量分别为x,y,i,其中x变量由程序运行时定义的,而y和i根据x的值进行for语句的循环,再通过循环次数来决定程序运行完毕后将输出什么东西。
数据类型:这道题目则运用了我们这一周新学习的循环嵌套语句,通过多个循环嵌套中的判断语句if-else来决定输出的数据,其余语句均为基本的输入,输出语句和赋值语句。其中,整个程序均以for语句中嵌入if-else语句的主体运行。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
1 | 1*1=1 | 1在九九乘法表范围内 |
0 | 0不在九九乘法表范围内 | |
-1 | -1也不在九九乘法表范围内 |
1.1.4 PTA提交列表及说明
说明
1.格式错误:在输出每一行%d*%d=%d时忘记加入一个换行符号\n了,同时也因为没有运行程序就提交答案,导致犯了这个错误。
2.格式错误:第二次重新加入了换行符号\n,但是在输出每一个%d*%d=%d时忘记两者间加入空格,并且在乘积不同时,空格数也不一样,所以导致了格式错误
1.2 题目2
7-4 一钱生多钱 (10分)
在日常生活中,我们常常需要将一些大额的人民币换算成零钱,已知我们有许多面值5元,2元和1元的人民币。编程实现:输入我们需要兑换的金钱数,然后我们用这些面值5元,2元和1元的人民币来兑换,要求每一种面值都至少有1张,然后输出有多少种兑换方式。
1.1.1数据处理
数据表达:本题运用了均为整数型变量;分别为x,one,two,five;程序先将除了x以外的变量定义为1,而x则被赋予运行程序时输入的值.其中one,two,five的值均由是否one+two2+five5==x决定
数据处理:本题运用了for语句和if-else语句循环嵌套,其中3个for语句分别控制one,two,five的值,if-else语句判断是否one+two2+five5==x,如果符合,便输出所有满足条件one,two,five的值
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
8 | five=1,two=1,one=1 | 只有一种情况 |
1 | 不满足题目要求(x大于等于8小于等于100) | |
10 | five=1,two=1,one=3 | 一共有2种情况 |
five=1,two=2,one=1 | 一共有2种情况 |
1.2.4 PTA提交列表及说明
说明
1.部分正确:第一次做题时对于3种面额的金钱的循环次数的判断条件错误,导致答案部分正确。
1.部分正确:第二次因为在判断循环次数时不是判断金钱的数量,而是金钱数量乘以面额小于13,而不是金钱数量小于变量。导致部分正确;
font>
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
代码1
同学代码截图
自己代码截图
不同点1:他的代码定义的变量只是单纯的字母,而我的则是由英语单词,我的更加容易让别人理解一些。
不同点2:在计算面额为1的金钱时,他运用的是总数减去之前for语句赋予的其他金钱的数量,这一点他的代码更加的简洁一些,也容易一些,这一点我需要学习他的思维。
代码2
同学代码截图
自己代码截图
说明
不同点1:我在循环的末尾不应该加sum1 sum2等于0,这个是没有意义的。在逻辑思维是我没有他更加的透彻一些。
不同点2:在sum1和sum2的运算表达式他的更加明了一些,我的可能比较难看一些,这一点我也应该向他学习。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 20> | 120 | 第一周我学习了制作简单的文字编程,以及c语言的基本字符和命令。如printf,return 0 等基本字符 | 该周问题已解决 |
第九周 | 24 | 180 | 第二周我学会了如何编程制作能够进行加减乘除的小程序,并且学习了使用比单精度更高级的双精度符号,同时也学会了定义一个函数来求所需的数据 | 该周问题已解决 |
第十周 | 26 | 260 | 这一周我学会了使用循环语句“for( )”来进行更加复杂的程序,从而解决分段的函数问题,以及多个数据的求和. | 该周问题已解决 |
第十一周) | 29 | 280 | 这一周我学会了调用数学函数如pow幂函数来解决乘方表和阶乘表生成的问题,以及学会了自己调用定义一个新函数来解决一些较复杂的数学问题。 | 该周问题已解决 |
第十二周 | 33 | 350 | 这一周我学会了使用了分支机构解决多条件的数学问题,同时也学会了使用了字符型变量来解决问题。 | 该周问题已解决 |
第十三周 | 30 | 450 | 这一周我学会了使用了分支机构中的switch语句解决更加复杂的问题,同时也学会使用多个语句相互结合解决问题。 | 该周问题已解决。 |
第十四周 | 33 | 500 | 这一周我学会了使用了分支机构中的while和do——while语句解决不定循环次数的问题,同时也学会了使用if——else结合while语句相互结合解决问题。 | 这一周无较大问题。 |
第十五周 | 40 | 580 | 这一周我学会了使用了循环嵌套语句解决更加复杂的问题。 | 不太理解数组的运用 |
3.2 累积代码行和博客字数(5分)
周/日期 | 博客字数 | 代码行数 |
---|---|---|
第八周 | 840 | 120 |
第九周 | 980 | 180 |
第十周 | 1500 | 260 |
第十一周 | 1650 | 280 |
第十二周 | 1750 | 350 |
第十三周 | 1900 | 450 |
第十四周 | 2200 | 500 |
第十五周 | 2300 | 580 |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
不知不觉一个学期就要过去了,从一开始什么都不懂到现在能够写出一些简单的小程序,感觉还是非常开心的,同时也希望以后能够学习到更加多更加高级的知识,同时也希望在学期末的考试中得到能够让自己满意的成绩,加油。(对辽,数组到底怎么用阿,完全搞不懂,球球辽,老师上课的时候讲讲扒。)
此外;关于如何跳出循环的问题
1 break
用法:跳出包含该语句的最内层while,do while,for,switch语句中的循环体
2 continue
用法:跳出当前while,do while,for语句中的当前循环,进入下一次循环
3 return
用法:直接跳出整个程序。