C语言I博客作业07

作业头

这个作业属于哪个课程 C语言I博客作业07
这个作业要求在哪里
作业要求
这个作业的目标
熟悉使用while和do-while结构解决问题
学号
20209073

1.1求整数的位数及各位数字之和

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

1.1.1数据处理

数据表达:用了i,n,x,result变量,i的值是赋值来的,其他均为计算后得来,类型是整型。
数据处理:数据用到的表达式和流程结构为
while(n!=0){
x=n%10;
result=result+x;
n=n/10;
i++;
x=n;

1.1.2实验代码截图

1.1.3 造测试数据
输入数据 输出数据 说明
321 3 6 大到小
123 3 6 小到大
312 3 6 无顺序
1.1.4 PTA提交列表及说明


1.编译错误:void和viod傻傻的分不清,一直有个疑问,有这个void和没有有啥区别么?
2.部分正确:while语句中的部分出错,函数表达那里理解错误,改数字后正确

1.2循环-古角猜想

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

1.2.1数据处理

数据表达:用了x变量,这些变量的值是赋值来的,类型是整型。
数据处理:数据用到的表达式和流程结构为
while(x!=1)
if(0==x%2){printf("%d/2=%d\n",x,x/2);x=x/2;}
else{printf("%d3+1=%d\n",x,x3+1);x=x*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 题目输入样例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 题目输入样例2
表及说明
1.运行超时:else语句中关键一步的运算*误打成了+
2.运行超时:if语句中的一步数学运算符号打错

2.代码互评

同学1的代码

同学2的代码

自己的代码

1.同学1最大的亮点便是在while语句里面嵌套了if,且在写while时运用了逻辑运算符,事半功倍
2.同学2和同学1相反,在if—else里面嵌套了while语句
3.自己则是使用while结构解决,数据类型用到了整型i,n,x,result

3.学习总结

3.1 学习进度条

周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
:--😐:--😐:--😐:--😐:--😐:--:
第一周|3h|23|printf|各种符号所代表的含义
第二周|2h|11|int|整型浮点型的异同
第三周|2h|56|if-else|if-else格式
第四周|3h|119|for|部分函数如何用代码表达
第五周|4h|124|#include<math.h>|如何调试
第六周|6h|146|if-else,逻辑运算符|e++为什么不能逐个用e+1表示
第七周|5h|135|switch|除了if-else和switch还有没有其他分支结构
第八周|5h|139|do-while|对于while和do-while使用的情况还不是太了解

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第一周 1204 23
第二周 265 11
第三周 570 56
第四周 743 119
第五周 563 124
第六周 865 146
第七周 776 135
第八周 969 139

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会

1.这周因为助教的建议尝试着去看了一些有关代码的故事,发现非常有趣,虽然这周在代码的学习强度上不高,但是却对代码有了一份新的认识,我感觉这对我继续走下去很重要
2.个人感觉学习的兴趣真的很重要吧,这周写代码时的心态都不一样了,看着这些代码,想到那些发展历史,一步一步走来,确实是不容易,学起来也更带劲了
3.快学期末了,回看自己的博客园作业,真的是感慨颇多,虽然对考试没有底,但是看这些一篇篇作业,感觉心头安心不少
4.考试降至,要准备考试了,在这里为自己加油!

posted @ 2020-12-07 17:56  熙茜  阅读(80)  评论(1)    收藏  举报