C语言|博客作业07

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-4 |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11591 |
| 这个作业的目标 | 学会使用while与do-while的循环结构,复习熟练for循环,和if与switch多分支结构 |
| 学号 | 20209048 |

三,本周作业

1.PTA实验作业。

1.1求整数的位数及各位数字之和

题目内容描述:对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1 实验代码截图

1.1.2 数据处理
数据表达:定义了N,s,count,i四个整型变量;
数据处理:使用了while循环语句,通过循环计算整数N除10的余数相加来计算其位数的和,并通过循环的次数计算其位数。
1.1.3 造测试数据
输入数据 输出数据 说明
321 3 6 321的位数是3,各位数字之和是6
85334 5 23 85334的位数是5,各位数字之和是23
655498 6 37 655498的位数是6,各位数字之和是37
90325890944343 0 0 90325890944343超过1000000000无法正常输出
1.1.4 PTA列表提交说明

1、部分正确:因为在敲代码时粗心将计算循环次数的步骤落下了,导致这个代码无法计算其位数;
2、结果正确:通过检查代码发现自己没有添加计算位数的代码,加入后就正确了。

1.2 循环-古角猜想

题目内容描述:日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.2.1 实验代码截图

1.2.2 数据处理
数据表达:只定义了n这一个整型变量;
数据处理:通过使用while循环语句和if-else多分支结构来表现运算过程,其中还使用了逻辑运算符“ != ”。
1.2.3 造测试数据
输入数据 输出数据 说明
5 5*3+1=16 16/2=8 8/2=4 4/2=2 2 样例 5是奇数
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 \ n=1无法正常输出
22 22/2=11 113+1=34 34/2=17 173+1=52 52/2=26 26/2=13 133+1=40 40/2=20 20/2=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 22是偶数
1.2.4 PTA提交列表说明

1、段错误:这是第一次我做PTA出现段错误,通过查阅资料我了解到它可能是数组越界,堆栈溢出等情况引起,仔细检查后发现自己在scanf(“%d”,&n)中落下了地址运算符&,导致段错误。
2、结果正确:其实检查第一次的时候,我没有检查出来导致没有改对错误,后来查阅资料,再次仔细检查才对了。

2.代码互评

1.同学代码

2.自己代码

1.第一个同学的代码很工整简洁,使用了do-while循环结构与if-else多分支结构,逐步计算出结果。
2.第二位同学的代码使用了while循环语句与if的条件语句,使用了break来跳出循环。
3.我自己的代码与第一位同学的更加相似,他使用了do-while循环结构,先计算再判断是否符合循环条件,同样第二位同学的代码使用的break跳出循环也值得我去学习。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间/时 代码行数/行 学到的知识点简介 目前比较困惑的问题
11/30-12/6 9/h 300 学习了如何使用while与do-while循环结构 对于一些知识点仍然有点生疏,不理解

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
1.这周我们学习了使用while和do-while循环结构,它与我们之前学习的for循环一样都是循环结构,但是for循环是知道循环次数的,而while循环不知道循环次数;
2.在写这周的PTA作业时,我有遇见很多新的问题,如第三题的提交时显示的段错误,在解决问题时学到了许多的新知识;
3.总结起来多问,多翻阅资料,多自己思考,有清晰的思路是真的特别重要!!!
posted @ 2020-12-06 11:18  橘柚  阅读(164)  评论(2编辑  收藏  举报