C语言I博客作业07
| 这个作业属于哪个课程 | <班级的链接> |
|---|---|
| 这个作业要求在哪里 | <作业要求的链接> |
| 这个作业的目标 | 学会使用while与do-while的循环结构,复习熟练for循环,和if与switch多分支结构 |
| 学号 | 20208939 |
1.PTA实验作业

1.1.0对于给定的正整数N,求它的位数及其各位数字之和
1.1.1实验代码截图

1.1.2 数据处理
数据表达:定义了N,s,count,i四个整型变量;
数据处理:使用了while循环语句,通过循环计算整数N除10的余数相加来计算其位数的和,并通过循环的次数计算其位数
1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 2002 | 4 4 | 位数为4,各位数之和为4 |
| 88888 | 5 40 | 位数为5 各位数之和为40 |
| 123456 | 6 21 | 位数为6,各位数之和为21 |
| 1.1.4 PTA列表提交说明 | ||
![]() |
||
| 编译错误:对while结构不是很熟练.结构问题发生了错误 | ||
| 答案正确:问了宿舍同学指导。 | ||
| 2.1.0 | ||
| 日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。 |
1.2.1数据处理
数据表达:定义了整型变量n
数据处理:使用了while循环,表达式:n=n*3+1和n=n/2
1.2.2实验代码截图

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.2.4PTA列表提交说明 | ||
![]() |
||
| 编译错误:只赋值了一遍,导致错误。 | ||
| 答案正确:问同学学会。 | ||
| 2.代码互评 | ||
| 同学1 | ||
![]() |
||
| 同学2 | ||
![]() |
||
| 自己代码 | ||
![]() |
||
| 同学一的用的是do if 结构和else ,与我不同。 | ||
| 同学二的使用的跟我一样是while 但只使用了一遍,比我的更为简单。 | ||
| 3.学习总结 | ||
![]() |
||
![]() |
||
![]() |
||
| 3.1.3学习体会 | ||
| 这个星期学习了white和do-while循环结构,但自己好像感觉有点没弄明白,做作业的时候就能感觉到吃力的感觉,与for循环不同,不知道明确的循环次数 | ||
| 让我有点不习惯,总的来说,多看看资料书,多加练习,争取早点学会它 |








浙公网安备 33010602011771号