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、学习如逆水行舟,不进则退。
原文地址:https://www.cnblogs.com/solokill/p/11856493.html