1.作业头
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585 |
这个作业的目标 | 熟悉使用while和do-while结构解决问题 |
学号 | 20209121 |
一、本周教学内容&目标
第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。
二、本周作业头
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585 |
我在这个课程的目标是 | 熟用C语言 |
这个作业在那个具体方面帮助我实现目标 | 熟悉使用while和do-while结构解决问题 |
参考文献 | <C语言程序设计> |
三、本周作业
PTA实验作业
代码互评
学习总结
四、作业格式
1.PTA实验作业(20分/题)
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分)
请再此处列出自己的排名图片,如:
1.1 题目名1 循环-古角猜想
内容描述:日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程,输入一个自然数n,输出每次运算步骤,直到结果为1。
1.1.1数据处理
数据表达:用了整型变量n,n表示输入的一个自然数。
数据处理:表达式:n!=1,n%2==0;流程结构:用了if-else语句,while循环语句。
伪代码:
Begin(算法开始)
输入 n
scanf 输入一个自然数
while n!=1
if (n%2==0)
then [n/=2]
else [n=n*3+1]
End (算法结束)
1.1.2实验代码截图
1.1.3 造测试数据
按照以下表格,输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明
数值 | 5 | 6 | 4 | 3 |
---|---|---|---|---|
结果 | 5*3+1=16 | 6/2=3 | 4/2=2 | 3*3+1=10 |
16/2=8 | 3*3+1=10 | 2/2=1 | 10/2=5 | |
8/2=4 | 10/2=5 | 5*3+1=16 | ||
4/2=2 | 5*3+1=16 | 16/2=8 | ||
2/2=1 | 16/2=8 | 8/2=4 | ||
8/2=4 | 4/2=2 | |||
4/2=1 | 2/2=1 | |||
说明 | 5经过5次变换得到1 | 6经过7次变换得到1 | 4经过2次变换得到1 | 3经过7次变换得到1 |
1.1.4 PTA提交列表及说明
·格式错误:每一个输出的算式后没有加上回车键,加上‘\n’即可。
·答案错误:while 后的条件写成了‘n==1’,改成‘n!=1’即可。
1.2 题目2 购物(二)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1 数据处理
数据表达:用了双精度浮点型变量a,b,c,整型变量count,count表示商品的数量,a表示输入的一个商品的价格,b用来统商品价格总数,c算每件商品的平均价。
数据处理:表达式:count<10,a==-1, 流程结构:用了else-if语句以及while循环语句。
伪代码:
Begin(算法开始)
输入 a,b,c,count
b ← 0
count ← 0
while count<10
scanf 输入商品价格
if (a==-1)
then [break]
else [b=b+a,count++,c=b/count]
End (算法结束)
1.2.2 实验代码截图
1.2.3 造测试数据
数值 | 890.78 2769.8 -1 | 890.78 2769.8 978.2 | 890.78 2769.8 -1 978.2 | 55 555 5555 -1 | 786 546 -1 345 |
---|---|---|---|---|---|
结果 | 1830.29 | 1148.62 | 1830.29 | 2055.00 | 666.00 |
说明 | 每件商品平均价为1830.29元 | 每件商品平均价为1148.62元 | 程序到-1截止,每件商品平均价为1830.29元 | 每件商品平均价为2055.00元 | 程序到-1截止,每件商品平均价为666.00元 |
1.2.4 PTA提交列表及说明
·部分正确:while 后的条件写成了count>=10,写反了,改为‘count<10’即可。
·部分正确:if后的条件写成了‘a=-1’,改成‘a==-1’即可。
·部分正确:‘count++’与‘c=b/count’顺序反了,应该‘count++’在前。
2.代码互评(5分)
同学代码截图
自己代码截图
1.第一份代码在while语句前用了一个输入语句,输入了一个商品的价格,而第二份代码没有。
2.第一份代码算的时候计算了循环次数,用了n来记循环次数,然后,最后输出时直接算总价与总次数的商,从而算出商品的平均价,而第二份代码则是在每一次一个商品的价格输入时就与之前的总价相加,接着就算平均价,最后算出平均价,再输出。
同学代码截图
自己代码截图
1.第一份代码用的是for循环语句,第二份代码则是用的while循环语句。
2.第一份代码将‘Game Over’的分成次数与输入的数是否为负数两种情况来弄,而第二份代码则是用了一个if语句将两种情况放在一起来弄。
3.第一份代码写了两个数相等的情况下break,而第二份代码则是将相等与大于放在一起弄。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第八周 | 12h | 112 | 在屏幕上输出一些语句或字符组成的图形 | 无比较迷惑的问题 |
第九周 | 12h | 286 | if-else语句 | 计算的算式有些运算符号用的不好 |
第十周 | 15h | 423 | for循环语句 | 一些变量不能够准确地定义,导致弄算式时输出的答案是错的 |
第十一周 | 15h | 536 | 调用并自定义函数 | 自定义函数时搞不清变量类型 |
第十二周 | 17h | 543 | 熟悉多分支结构、字符型数据类型和逻辑运算符 | 分支结构弄不清优先级 |
第十三周 | 18h | 591 | 熟悉多分支结构switch语句的使用 | switch后的表达式与case常量表达式的关系 |
第十四周 | 22h | 638 | 熟悉使用while和do-while结构解决问题 | while后的条件常常不明白是限制条件还是允许继续循环条件 |