C语言I博客作业07
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588 |
我在这个课程的目标是 | 学会使用while和do-while结构解决问题 |
这个作业在那个具体方面帮助我实现目标 | PTA的作业 |
参考文献 | c语言程序设计(第三版) |
1.PTA实验作业(20分/题)
1.1 7-1 求整数的位数及各位数字之和 (15分)
对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据处理
数据表达:定义了整形的n,c,sum
数据处理:运用了while的循环结构,表达式:sum=n%10+sum; n=n/10; c++;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 输入为321时,得3位数,相加为6,故输出为3 6 |
1562 | 4 14 | 输入为1562时,得4位数,相加为14,故输出为4 14 |
42389 | 5 26 | 输入为42389时,得5位数,相加为26,故输出为5 26 |
1.1.4 PTA提交列表及说明
答案错误:最后的输出字母c打成了字母n,以后要区分好每个定义的字母,注意每个字母代表的意义。
1.2 7-3 循环-古角猜想 (20分)
日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。
1.2.1 数据处理
数据表达:定义了整形的n
数据处理:运用了while的循环结构并内嵌了if-else的分支结构。输入一个n,符合while语句则开始第一次循环,判断是否满足if(n%2==0)或者是else,然后按 printf("%d/2=%d\n",n,n/2)或printf("%d*3+1=%d\n",n,n*3+1)条件进行循环,直到n=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,则输出5*3+1=16,16/2=8,8/2=4,4/2=2,2/2=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,则输出6/2=3,33+1=10,10/2=5,53+1=16,16/2=8,8/2=4,4/2=2,2/2=1 |
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 | 输入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 |
1.2.4 PTA提交列表及说明
编译错误:int main()后面打了分号
格式错误:printf语句后面没有打\n
2.代码互评(5分)
同学代码截图1:
同学代码截图2:
自己代码截图:
1.同学1运用了whlie和switch结构,相对而言我的代码更简单,语句也跟少。
2.同学2运用了whlie和if-else结构和我的一样,但他的代码有点杂乱,我的更清晰整洁。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第10周 | 11 | 120 | 循环和分支 | 不会有flag写循环语句 |
第11周 | 16 | 150 | 调用函数 | 对如何调用函数的步骤还有些模糊 |
第12周 | 13 | 125 | 多分支结构 | 无 |
第13周 | 12 | 130 | switch的多分支结构 | 还不能熟练使用switch的多分支结构,很多时候第一时间会想到if语句 |
第14周 | 15 | 230 | while和do-while的循环结构 | 不能很快看出PTA的题目与while和do-while的循环结构之间的联系 |
3.2 累积代码行和博客字数(5分) | ||||
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
刚接触whlie循环结构时还有点懵懂,看到PTA的作业时就彻底懵逼了,但结合他人的作业尝试去做时就能够清晰的使用whlie循环结构,说明想要熟练通过编程解决
问题还是要不断的练习。