C语言I博客作业07
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11554 |
这个作业的目标 | 增强对switch句式的理解 |
学号 | 20209162 |
一、本周教学内容&目标
第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。
三、本周作业
PTA实验作业
代码互评
学习总结
四、作业格式
1.PTA实验作业(20分/题)
1.1对于给定的正整数N,求它的位数及其各位数字之和
1.1.1数据处理
数据表达:设置number, temp, i为整形函数
数据处理: while (temp) {sum += temp % 10;temp /= 10;i++;}
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
321 | 3 6 | 有三位数,数字和为6 |
124 | 3 7 | 有三位数,数字合为7 |
1.1.4 PTA提交列表及说明
错误:没有设置sum=0
纠正:在int后设置sum=0
1.2 题目2
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.2.1 数据处理
数据表达:设n为整形函数,设pocn为自定义函数
数据处理:if(n%2=0){ printf("%d/2=%d\n",n,n/2)n /= 2;}else{printf("%d*3+1=%d\n",n,n*3+1); n = n*3+1; }
1.2.2 实验代码截图
1.2.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 4/2=2 2/2=1 | 6经过处理变成1 |
1.2.4 PTA提交列表及说明
错误:第一个if句子中的判断条件应该是两个等号
纠正:把=改成==
2.代码互评(5分)
同学代码截图
自己代码截图
不同点
1.两位同学都用的是if else语句,和while语句,而我是while语句
2.我是利用i的累加来算,而他们是直接条件判断
3.我的有sum来储存累加值,她们没有
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点 | 目前比较迷惑的问题 |
---|---|---|---|---|
第六周 | 7h | 150 | whlie句式 | 对于while句式详细结构有点模糊,总是会有小错误 |
3.2 累积代码行和博客字数(5分) | ||||
![]() |
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
1while结构相对概念清晰了许多,但是做题目时不知道怎么设置公式
2.对于一些小问题还是有疑惑,希望老师能够讲清晰一点