问题 | 答案 |
---|---|
这个作业属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/998 |
我在这个课程的目标是 | 熟悉for循环,学习并掌握do-while循环及while循环 |
这个作业在那个具体方面帮助我实现目标 | PTA作业 |
参考文献 | 《C语言程序设计》,编程网站codecademy |
1PTA实验作业
1.1题目7-5
题目描述:一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
1.1.1数据处理
1.数据表达:用int定义五个变量,a代表上爬高度,t代表时间。
2.数据处理:运用了do-while循环结构和if判断语句(用于判断特殊情况)。
伪代码:
int n,u,d(n为总高度,u为每分钟上爬长度,d每次为下滑长度。
scanf()输出定义的整型变量
int t=0(时间),a=0(上爬实际高度)
用do-while循环
循环体为a+=u,t++, if(a>n)跳出循环,a-=d,t++;当a>n是跳出循环。
用printf输出所花时间t。
1.1.2实验代码截图
1.1.3造测试数据
输入 | 输出 | 说明 |
---|---|---|
20 3 1 | 19 | 花费19分钟 |
33 5 3 | 33 | 花费33分钟 |
21 9 4 | 7 | 花费7分钟 |
61 9 5 | 27 | 花费27分钟 |
1.1.4PTA提交及说明
1.编译错误:while(a
3.多种错误:尝试一下a和t没等于0的结果。
1.2题目7-1
题目描述:对于给定的正整数N,求它的位数及其各位数字之和。
1.2.1数据处理
1.数据表达:用int定义整型变量n(输入的数),x,a=0(循环次数亦输入数值的位数)z=0(个位数的和)。
2.数据处理:用到了d0-while循环结构
伪代码:
用int定义整型变量n(为输入的数)
用scanf()输出变量n
之后用int 定义变量x,a=0(循环次数亦输入数值的位数),z=0(各位数的相加值);
用do-while循环结构
循环体为:用x=n%10(得出的各个数的值); 用z+=x(求出个位数的相加值);用n/=10();用a++(记录循环的次数亦输入数值的位数)。
用printf()输出所求的z与a。
1.2.2实验代码截图
1.2.3造测试数据
输入 | 输出 | 说明 |
---|---|---|
111 | 3 4 | 输入的数为3位数各位数相加为4 |
12 | 2 3 | 输入的数为两位数各位数相加为3 |
9 | 1 9 | 输入的数为1位数各位数相加为9 |
1000 | 4 1 | 输入的数为4位数各位数相加为1 |
1.2.4PTA提交及说明
1.部分正确(所有的部分正确):题目要求没看清,题目要求是(在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。),而我却没注意将其输出顺序搞反了。
2代码互评
同学代码
自己代码
代码对比
1.同学代码运用了do-while循环,而自己运用的是for循环,
2.从学习方面来讲同学更符合新教内容,从简洁方面来说我的代码好一些。
3.我觉得同学可以用while循环这样节省许多字符。
4.从个人理解的角度来看同学代码在人数累加方面的过程更易使人理解 ,看懂。
3、学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码数 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
7/10.9-7/10.11 | 13小时 | 90 | 代码的逻辑顺序的运用,以及{}的运用及要求 | PTA编译错误与答案错误时怎么从代码输出中查看错误? |
8/10.16-8/10.18 | 15小时 | 121 | for语句循环计算 | "sum="与“sum = "的区别。 |
9/10.23-9/10.26 | 12小时 | 120 | 学会了说明函数,调用函数,学会了const修饰符。 | |
10/10.30-10/11.2 | 15小时 | 156 | 学会了分支结构,更加熟悉if-else语句,用%02d:%02d输出两位小时数 | if-else与for循环混和使用不太会。 |
11/11.6-11/11.8 | 12小时 | 145 | 利于switch语句处理多分支选择问题 | switch语句分支结构和for循环的衔接不太会。 |
12/11.13-12/12.15 | 11小时 | 125 | 学到了do-while循环及while循环,更加熟悉for循环。 | 对for循环在某些情况下还是不了解。 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2学习体会
1.通过做PTA的作业发现自己有许多的不足,比如说在做题时不知选哪种循环结构所写代码简洁些。
2.还那个老问题,对题目要求的忽视,导致答案的部分正确。
3.发现写的代码虽说能运行但不符合题目要求,这也是一个麻烦的事。
4.发现跳出循环的条件至关重要。
5.还是那句话,编程之路任重而道远。