C语言|博客作业6

| 这个作业属于哪个课程 | C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11559 |
| 我在这个课程的目标是 | 学会使用switch多分支结构 |
| 这个作业在那个具体方面帮助我实现目标 | 通过练习与思考PTA上的题目不断巩固知识,学以致用 |
| 参考文献 | C语言程序设计课本,知乎,百度 |
| 学号 | 20209048 |

三,本周作业

1.PTA实验作业。

![](https://img2020.cnblogs.com/blog/2176939/202012/2176939-20201205203442538-777429245.jpg

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/2=1 样例 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.第一个同学的代码使用了else-if语句和switch语句,逐步将结果计算出来。
2.第二位同学的代码很工整,美观,使用了else-if的分支结构,还使用了逻辑运算符。
3.我自己的代码与第二位同学的更加相似,第一位同学使用了switch结构,值得我去学习。

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间/时 代码行数/行 学到的知识点简介 目前比较困惑的问题
11/22-11/29 8/h 280 学习了如何使用switch多分支结构 对switch多分支结构不熟练

3.2 累积代码行和博客字数

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
1.这周我们学习了使用switch多分支结构,虽然我还是不熟练;
2.在写这周的PTA作业时,我有遇见很多的问题,特别是PTA第四题,修改了很多遍,很考验人的耐心;
3.总结起来多问,多翻阅资料,多自己思考是真的特别重要!!!
posted @ 2020-11-29 16:44  橘柚  阅读(109)  评论(3编辑  收藏  举报