C语言I博客作业07
|这个作业属于那个课程 |https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
| ---- | ---- | ---- |
|这个作业要求在哪里 |https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11589 |
|我在这个课程的目标是 | 熟悉使用while和do-while结构解决问题。 |
|学号 |20208983 |
一、本周作业
1.PTA实验作业

1.1 7-3 循环-古角猜想 (20分)
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.1.1数据处理
数据表达:用到了需要输入的整型n, r;
数据处理:表达式:r=n;
n=n/2;
r=n;
n=n*3+1;
流程结构:运用了if-else if语句
伪代码:
程序开始
定义变量 n,r
输入变量 n的值
循环表达式 n不等于1
循环体语句:
分支表达式 n除以2取余等于0
分支语句 将n的值赋给r;n等于n除以2;输出r除以2的值
分支表达式 n除以2取余不等于0
分支语句 将n的值赋给r;n等于n乘以3加1;输出r乘以3加1的值
程序结束
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 5 | 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 5能经过输出的过程化为1 |
| 6 | 6/2=3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 6能经过输出的过程化为1 |
| 3 | 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 | 3能经过输出的过程化为1 |
| 8 | 8/2=4 4/2=2 2/2=1 | 8能经过输出的过程化为1 |
1.1.4 PTA提交列表及说明

问题:答案错误 第15行输出时将r用n表达了
解决:将n改为r
1.2 7-6 购物(二)(25分)
用户购买了若干个商品(商品数不超过10),现在,他告诉你每件商品的价格,你计算出这些商品的平均价格。
1.2.1 数据处理
数据表达:运用到了需要输入的双精度浮点型b,d,p,n
数据处理:表达式:b++;
p=p+n;
d=p/b;
流程结构:运用了while语句
伪代码:
程序开始
定义变量 b,d,p,n的值
表达式 p为0
输入变量 n的值
循环表达式 n不为-1
循环体语句 b加1;p等于p加n;输入变量n的值;
表达式 d等于p除以b
输出变量 d的值
程序结束
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 890.78 2769.8 12300 3532.2 -1 | 4873.19 | 输入数据的平均数为输出数据 |
| 11.2 3.4 56.7 123.8 12.4 56.45 -1 | 43.99 | 输入数据的平均数为输出数据 |
| 34 45 68 90 12 234 45 23 45 12 -1 | 60.80 | 输入数据的平均数为输出数据 |
| 12 23 34 56 78 89 90 21 32 43 65 -1 | 49.36 | 输入数据的平均数为输出数据 |
1.1.4 PTA提交列表及说明

问题:部分正确:编译错误 第12行输入时缺少‘&’符号
解决:在n前加上‘&’
2.代码互评
同学代码截图

自己代码截图

1.同学用到了while语句和if语句,而自己只用到了一个while语句
2.同学用到了更多的表达式,让代码更清晰,更容易理解,而自己所用表达式较少
3.同学代码比较清晰,自己的代码比较简洁
3.学习总结
3.1 学习进度条
| 日期 | 所花时间 | 代码行 | 学习内容 | 迷惑点 |
|---|---|---|---|---|
| 第一周10.12——10.18 | 8h | 30行 | 变量的类型 | 无 |
| 第二周10.19——10.31 | 15h | 110行 | if-else语句 | 无 |
| 第三周11.2——11.8 | 20h | 130行 | for循环 | 无 |
| 第四周11.9——11.15 | 23h | 160行 | 自定义函数 | 无 |
| 第五周11.16——11.22 | 25 | 240行 | 分支结构 | else——if语句的格式 |
| 第六周11.23——11.29 | 26h | 300行 | switch语句 | 无 |
| 第七周11.30——12.6 | 30h | 430行 | while语句 | 无 |
3.2 累积代码行和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第一周 | 约500 | 30行 |
| 第二周 | 约600 | 110行 |
| 第三周 | 约800 | 130行 |
| 第四周 | 约1000 | 160行 |
| 第五周 | 约1100 | 240行 |
| 第六周 | 约1300 | 300行 |
| 第七周 | 约1400 | 430行 |
![]() |
3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
1.本周学习了while语句和do-while语句,并且能解决简单的问题
2.在本周的学中,发现自己做题没有耐心,做题时容易分心,导致做题效率比较低,希望自己在以后的学习中能够仔细认真
3.自己在以后的学习中还要多多向人请教,不要总是一个人思考,要学会交流。


浙公网安备 33010602011771号