C语言I博客作业08

这个作业属于那个课程 C语言程序设计
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9978
我在这个课程的目标是 熟悉并掌握好C语言及其它的专业性知识
这个作业在那个具体方面帮助我实现目标 完成PTA作业,熟悉使用while和do-while结构解决问题
参考文献 集美大学林丽老师

一,PTA实验作业

1,求整数的位数及各位数字之和

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

用Int整型定义N,m,sum,num
赋值sum=0
while语句(循环条件){
    num=N%10;
    sum+=num;
    N/=10;
    m++;
}
输出m和sum

1,数据处理

变量 变量来源 变量类型
N,m,sum,num 自定义 int整数型
  • 采用了while语句。
  • 运用了num=N%10; sum+=num;N/=10;m++;

2,造测试数据

输入数据 输出数据 说明
43256 5 20 随意数据
6778 4 28 随意数据
807325 6 25 随意数据

3,PTA提交列表及说明

  • 部分正确:本来是写了更多的参数的。在while语句的()里是写的i<=pow(10,9),在此情况下m输出一直为10,发现无法解决求位数的问题。后来发现可以使用更少的参数,直接把N/=10移到 sum+=num后更加简洁且方便。
  • 运行超时:忘记写N/=10了

**2,爬动的蠕虫 **

一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。

用int整型定义N,U,D
赋值时间t=0,爬行距离h=0
while语句(循环条件){
            t++;//向上爬行一分钟
	h += U;//爬行距离累计和
	if(h>=N){            //如果爬行的距离不小于井深N
		printf("%d", t);//输出时间
		break;
	}
	t++;//休息一分钟
	h -= D;//减去休息所下滑的距离总和
}
结束程序

1,数据处理

变量 变量来源 变量类型
N,U,D 题目定义 int整型
t,h 自定义 int整型
  • 采用了while语句和if语句

2,造测试数据

输入数据 输出数据 说明
14 5 1 7 随意选取
24 6 4 11 随意选取
34 6 4 11 随意选取

3,PTA提交列表及说明

  • 答案正确;有查询问题。当虫还未爬出时,记录上爬时间t++,h+=U虫上爬的距离和;如果上爬距离不小于N,输出时间t;然后记录休息的时间t++,h-=D虫减去下滑的距离,为虫移动的总距离。

二,代码互评

  • 我们的思路大致相同,只是有些循环的顺序不太一样
  • 我直接就在while语句里面把所要算的都写清楚了,她在printf语句里面还写了个公式
  • 两者条理都很清晰,易懂

三,学习总结

1,学习进度条

周/日期 这周所花的学习时间 代码行 学到的知识点 目前比较迷惑的问题
第三周 三天 110 if-else语句 格式化输入函数scanf() 使用scanf()的返回值 格式空格
第四周 三天 147 循环结构,流程图,数学函数 为什么在main()里加入void
第五周 两天 75 对函数的定义和调用有初步的认识,能模仿编程 为什么同样的答案在Dev-C++里是对的而在PTA里的就是错的
第六周 8小时 180 熟悉多分支结构、字符型数据类型和逻辑运算符 同样的答案在Dev-C++里是对的而在PTA里的就是错的,Visual Studio不会用
第七周 8小时 104 熟悉多分支结构switch语句的使用 不能流畅的完成PTA
第八周 8小时 90 熟悉使用while和do-while结构解决问题 while(1)里面数字代表什么

2,累计代码行数和博客字数

三,学习内容总结和体会

1,学习内容总结

2,学习体会
需要好好复习课本了,把以前做过了的PTA拿出来再做一遍,巩固知识。搞一个笔记本,把所有知识都系统性的记录一便。

posted @ 2019-11-16 02:17  田园鑫  阅读(148)  评论(0编辑  收藏  举报