C语言I博客作业08 1.PTA实验作业 2.代码互评 3.学习总结

这个作业是属于哪个课程 C语言程序设计II
这个作业要求在哪里 作业要求
我在这个课程的目标是 学到更多的语言编程技术
这个作业在那个具体方面帮助我实现目标 熟悉while 与dowhile语句
参考文献

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

1.1:7-5 爬动的蠕虫 (15 分)

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

1.1.1数据处理
数据表达:定义了N,U,D,t,x整型变量

数据处理:

while(x<N) //while 语句循环 判定条件为当x行驶的距离小于N时循环
x=x+U; //
t++; //爬行1分钟
if(x>=N) //爬完后距离大于了井深,跳出循环
break;
x=x-D;
t++; //休息一分钟 x减去滑行时间
printf("%d",t);

1.1.2实验代码截图

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

1.1.3 造测试数据

输入数据 输出数据 说明
12 3 1 11 正确
8 2 1 8 正确
8 3 1 4 正确

1.1.4 PTA提交列表及说明

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

1.答案错误:一开始做题时思考的简单了,直接用U-D来表示,但时间只累加一次,所以错误。
2.多种错误,编译错误:尝试修改分别考虑下滑与爬行,期间就多次尝试,大意漏了分号。
3.部分错误:这里要求不足1分钟按1分钟计,所以我的if 条件判断时漏了x=N的情况。


1.2 7-6 整除光棍 (20 分)

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。
提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。

1.2.1数据处理
数据表达:

for(i=1;; i++) //运用for循环 用i来计位数。
x=x*10+1; //x进行累加乘10加1,进行光棍数。
if(x>=n) //判断了x>n
printf("%d",x/n);//用x/n 来输出结果。
x=x%n; //当x取余后等于0,则为整数输出。
if(x==0)
break;

1.2.2 实验代码截图
C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

1.2.3 造测试数据

输入数据 输出数据 说明
11 1 2 正确
121 9182736455463728191 22 正确

1.2.4 PTA提交列表及说明
C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

这个题目我真的百思不得其解,这个最大光棍测试点到底是什么,我测试了很多组数据我都没有发现我漏考虑了哪个点。
加上了一个printf (“0”)的情况后这个测试点就全部正确了。我十分不解。明明最初的商等于0的情况已经可以不用
考虑了,但是为什么最后还要考虑之后商等于0的情况?

2.代码互评

同学代码:

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

自己代码:

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

1.在这个题目中getchar()相比scanf会更加简便,它可以考虑到空格的情况。而scanf()在读取数字时会跳过空格、制表符和换行符。getchar()是直接接收一个字符。

2.因为用的输入方式不同,所以用getchar()更为简便。

3.学习总结

3.1 学习进度条

日期 这周所花的时间 代码行 学到的知识简介 目前比较迷惑的问题
10/7--10/13 5个小时 80 学到了if语句 暂无
10/13--10/20 5个小时 100 学习for循环语句 暂无
10/20--10/27 5个小时 98 学习了函数定义 暂无
10/27--11/03 8个小时 196 学习了if分支语句,与逻辑符号先后 暂无
11/03--11/10 9个小时 210 学习了switch语句 暂无
11/10--11/17 9个小时 240 学习了while 与dowhile语句 pta的整除光棍的最大光棍测试点

3.2 累积代码行和博客字数

C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

3.3 学习内容总结和感悟

3.3.1 学习内容总结
C语言I博客作业08
1.PTA实验作业
2.代码互评
3.学习总结

3.3.2 学习体会
最初的对于代码的陌生到现在对代码逐渐熟练,我觉得这跟平日里的刷题与批改作业有着密不可分的联系。
小小的一段代码能体现你的思路流程,逻辑思维,为了一个测试点反复推敲。这是敲代码带给我的好奇乐趣。
刷题最喜欢看到的就是最后提交时全部正确的红字,快感和成就感十分充实。但是最近状态有所下滑,晚自习
也没有之前那么刻苦的去自学python,而是时不时的看看手机,自控力出现下降的情况。希望下周能有所好转。