1.PTA实验作业
1.1爬动的蠕虫
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。
输出格式:
在一行中输出蠕虫爬出井的时间,以分钟为单位。
1.1.1数据处理
数据表达:定义了整形变量N,U,D,sum,t;并把sum,t都初始化了
数据处理:sum=sum+U/用来保存蠕虫的上爬距离,sum=sum-D/用来保存蠕虫的下滑距离,2个t++/用来保存蠕虫的爬行和下滑时间。用了while( )循环结构,和if( )结构。
1.1.2实验代码截图
1.1.3造测试数据
12 3 1 |
11 |
蠕虫爬出井的时间为11分钟 |
14 5 2 |
7 |
蠕虫爬出井的时间为7分钟 |
11 5 3 |
7 |
蠕虫爬出井的时间为7分钟 |
1.1.4PTA提交列表及说明
提交列表说明
* 1.部分正确:时间累加用t=t+2,没有想到最后一次蠕虫刚好爬到井的情况。
1.2韩信点兵
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报 数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
1.2.1数据处理
数据表达:定义了整形变量i;
数据处理:用了while( )循环结构。i++/用来累计士兵人数。
1.2.2实验代码截图
1.2.3造测试数据
1.2.4PTA提交列表及说明
提交列表说明
* 1.编译错误:题目意思理解错了,应该用||,而我用&&。
2代码互评
同学代码截图
自己代码截图
第一个同学的代码让人看得不是特别舒服,并且让人不是特别理解,而我的代码让人易懂。而我和第二个同学思路都差不多,只是变量名称和在进行累加累减时的书写的不同。
3.学习总结
3.1学习进度条
第一周 |
1天 |
24行 |
学会了一点printf()语句,知道主函数 |
\n的用法 |
第二周 |
4天 |
23行 |
学会计算摄氏温度与华氏温度的转化 |
=两边打空格 |
第三周 |
2天 |
62行 |
学会一点scanf()语句,定义变量,if-else结构 |
很多地方不知道为什么要打空格 |
第四周 |
1天 |
145行 |
学会了for()语句 |
目前没有 |
第五周 |
1天 |
142行 |
对函数的定义和调用有初步的认识 |
在函数的定义中是否可以输入形参的值 |
第六周 |
2天 |
132行 |
加深对if-else分支结构的认识,字符型变量和常量的定义以及字符型输入输出函数 |
字符型数据的输出和输入不懂 |
第七周 |
1天 |
206行 |
学会switch语句,用switch语句处理多分支选择问题 |
在编译器上打代码时,编译器没有提示错误,但是答案错了。后来才知道case后面要打空格再打常数表达式 |
第八周 |
1天 |
125行 |
学习了while( )循环语句和do{ }while( )循环结构 |
相对于for()循环和while( )循环,do{ }while()还是运用的不太熟练 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
- 1.这周学习了while( )循环结构和do{ }while( )循环结构,但是对于do{ }while( )结构运用的还不是特别熟练,要多多练习。
- 2.学会写伪代码,伪代码可以让别人更好的理解你代码的意思。
- 3.要多看前面学习过的东西,不然会会忘掉。