C语言I博客作业07

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11530
我在这个课程的目标是 熟悉使用while和do-while结构解决问题
参考文献 《C语言程序设计》(第三版)
学号 20208947

1.PTA实验作业(20分/题)

1.1 求整数的位数及各位数字之和 (15分)

对于给定的正整数N,求它的位数及其各位数字之和。

1.1.1数据处理

数据表达:变量N,由输入得来,为整型变量;变量count,由定义得来,为整型变量;变量sum,由定义得来,为整型变量。
数据处理:表达式:关系表达式,算术表达式;流程结构:定义变量,初始化,while语句,输出结果。
伪代码:
初始化count=0,sum=0
输入N
while循环
输出count、sum 

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
321 3 6 3位数数字
1234 4 10 4位数数字
12345 5 15 5位数数字

1.1.4 PTA提交列表及说明

提交列表说明:

1.部分正确:题目逻辑弄错了,循环错误,导致答案错误。

1.2 循环-古角猜想 (20分)

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

1.2.1 数据处理

数据表达:变量n,由输入得来,为整型变量。
数据处理:表达式:关系表达式、算术表达式;流程结果:定义变量,输入,while语句,if-else语句,输出结果。
伪代码:
定义变量n
输入n
while定为死循环
if n%2==0,输出 %d/2=%d
",n,n/2
把n/2赋值给n
else 输出 %d*3+1=%d
",n,n*3+1
把n*3+1赋值给n
if n=1,则break,跳出while循环


1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
5 5*3+1=16 16/2=8 8/2=4 4/2=2 2/2=1 奇数
4 4/2=2 2/2=1 偶数

1.2.4 PTA提交列表及说明

提交列表说明:

1.编译错误:开头打了两个“#”,if语句中逻辑错误。
2.运行超时:程序未能在规定时间内运行结束。

2.代码互评(5分)

同学代码截图1

同学代码截图2

自己代码截图

不同:

  1. 第2位同学调用了math函数,使用了pow函数,与我的代码相比,简化了计算过程。
  2. 第1位同学定义了6个变量,第2位同学定义了3个变量,我定义了5个变量,相比第2位同学的代码简单,简洁。
  3. 我与第2位同学for循环里的表达式不一样。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 14小时 180 C语言数据类型、换行符、printf函数
第九周 11小时 280 算术运算符、赋值运算符、if-else语句、scanf函数
第十周 12小时 350 for循环,sqrt函数 循环表达式不会写
第十一周 10小时 300 生成乘方表和阶方表、自定义函数 如何自定义
第十二周 9小时 267 if-else语句多分支结构
第十三周 10小时 200 switch语句 对switch语句不熟悉,不会使用
第十四周 8小时 235 while和do-while语句

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

这周的学习结束了,在这周我们学习了whil循环结构e以及do-while循环结构,这个知识点本身是不难的,我也掌握得还可以。这周由于自己其他工作原因,没有花很多时间在学习上,对于这个知识点的练习也没有,就是在写作业的时候也当作是练习了,pta上的作业增加了几道题,就我自己的时间来说,完成是有点困难的。继续加油吧!

原文地址:https://www.cnblogs.com/ghn52446/p/14095522.html