C语言I博客作业08
这个作业属于哪个课程 | C语言程序设计I |
---|---|
这个作业要求在哪里 | 作业链接 |
我在这个课程的目标是 | 熟练掌握C语言,能独立完成简单项目,毕业前想做出一个简单的游戏 |
这个作业在那个具体方面帮助我实现目标 | 熟练掌握while的使用 |
参考文献 | 作业评价标准 |
1、PTA实验作业
1.1求整数的位数及各位数字之和
问题描述:对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1 数据处理
- 数据表达:定义了三个整型变量,N表示输入数据,g表示数据位数,u表示各个位数之和。
- 数据处理:
伪代码如下
定义N,g,u;
输入数据N;
do //先执行一次循环体
u+=N%10;
N=N/10;
g++; //计数器
while(N!=0) //判断循环条件,是否继续循环
输出g,u;
1.1.2 实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 样例,正确 |
1234 | 4 10 | 随机数,正确 |
1.1.4 PTA提交列表及说明
- 1、编译错误:输入语句后没加分号。
- 2、多种错误:表达式顺序错误,输出语句中未给出输出的变量是什么。
1.2爬动的蠕虫
问题描述:一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
1.2.1 数据处理
- 数据表达:定义了五个整型变量,N表示井深,U为每分钟上升高度,D为每分钟下滑高度,s为蠕虫位移,t为所用时间。
- 数据处理:
伪代码如下
**定义N,U,D,s=0,t=0; ** //初始赋值为0
输入N,U,D;
while(s<=N) //判断循环条件
s+=U;
t++;
if(s>=N) //上升到N时跳出循环
输出t;
else //未到N高度继续循环
s-=D;
t++;
输出t;
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
12 3 1 | 11 | 样例,正确 |
45 5 3 | 41 | 随机数据,正确 |
1.2.4 PTA提交列表及说明
- 1、多种错误:开始直接用每两分钟上升U-D计算,解题思路有错误,因为只要到达了井顶就可以输出时间了,但该思路还会再算一次下滑和上升。
- 2、部分正确:if语句的执行条件有误,开始写的s==N,应该写s>=N。
2、代码互评
同学代码
我的代码
- 1、我的代码虽然没有错误,但篇幅很长不够简洁,而且还要先计算累加天数,很麻烦。
- 1、此同学的代码表达明确,虽然所用的语句和我一样,但在我的基础上简化了许多,简洁明了的表达了他的数据处理思路。复杂问题简单化,长篇代码简洁化,这是我应该向他学习的地方。
3、学习总结
3.1 学习进度条
日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 9+个小时 | 100+ | 编写if-else语句,算术运算与赋值运算规则等 | while语句的使用以及适用范围 |
10/14--10/20 | 8+个小时 | 190+ | for的使用,if-else与for的组合使用 | while与for的区别 |
10/21--10/27 | 6+个小时 | 340+ | 定义函数与调用 | 对函数的定义与调用不熟悉 |
10/28--11/3 | 6+个小时 | 260+ | if-else的镶嵌结构 | 用太多if-else会比较混乱 |
11/4--11/10 | 6+个小时 | 170+ | switch语句的基本运用 | switch与if-else的区别 |
11/11--11/17 | 6+个小时 | 120+ | while语句的使用 | 什么是指针 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 答:1、本周学习情况良好,上课有在积极参与抢答,课后作业完成度较高,但代码量较小,因为本周及下周学科部事情比较多,自行练习时间较少,while语句使用还不太熟练,还需要练习巩固。
2、这周学习内容为while的使用方式和结构,以及do-while的用法和while的区别:while用于不确定循环次数的计算,do-while和while的区别在于do-while先执行一次循环体再判断循环条件,而while是先判断循环条件再执行循环体。
3、PTA作业普通题难度适中,挑战题难度较大,没有独立完成,但请教了同学以及上网查了解析之后大致了解,但独立完成类似题仍然比较困难。
4、学习如逆水行舟,不进则退。