C语言I作业07:第十二周作业
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9981 |
我在这个课程的目标是 | 熟练掌握循环结构while,do-while的用法 |
这个作业在那个具体方面帮助我实现目标 | 自我思考,以及完成作业的时候 |
参考文献 | 百度 |
1.PTA实验作业
1.1求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10⁹的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
1.1.1数据处理
数据表达:定义了3个整型变量分别是:N,sum,k。其中N为输入值,k用来输出位数,num计算各数字和。
数据处理:
star
scanf("%d",&N);
while(N=0的时候跳出循环)
{
sum=sum+N除10的余数;
N/10;为下次循环做准备
k自增
}
输出k,sum
end
1.1.2实验代码截图
1.1.3 造测试数
输入数据 | 输出数据 |
321456 | 6 21 |
741258 | 6 27 |
963258741 | 9 45 |
1.1.4 PTA提交列表及说明
答案错误 | 由于输出值两个%d之间没加空格导致 |
答案错误 | while循环的表达式表达错误 |
段错误 | 在运用另一种方法时出现的错误,原因不明 |
编译错误 | 有一个中文的分号没发现 |
1.2 爬动的蠕虫
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D<U,N不超过100。
输出格式:
在一行中输出蠕虫爬出井的时间,以分钟为单位。
输入样例:
12 3 1
输出样例:
11
1.2.1数据处理
数据表达:除了输入值定义了两个整型变量:meter,min.并令其初始值为0,分别代表爬行的路程和爬行所用时间。
数据处理:
start 输入三个值 n,u,f while(所爬行的路程大于等于井深时跳出循环) { min++;(所花费时间加1) switch(min除2取余) { case 余1:蜗牛向上爬u个meter case 余2:蜗牛休息1min,下滑f个meter } } 输出min所用时间 end
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 |
100 10 1 | 21 |
1000 100 10 | 21 |
200 10 11 | 输出错误 |
1.2.4 PTA提交列表及说明
部分正确 | 经过修改后,scanf语句中多打了一个%导致部分正确 |
部分正确 | 我把min++这条语句放进了switch语句中导致部分正确 |
2.代码互评
同学代码
我的代码
这位同学的代码和我最大的不同就在于 1.这位同学发所有的数放在数组里面 2.他定义了了一个#include<string.h>的头文件,用strlen直接得出字符串的长度。
同学代码
我的代码
这位同学的思路和我的思路大致相同
主要的不同点是
这位同学把蜗牛的身长也考虑了进去,所以他在运算的终点考虑了蜗牛时身长
所以这位同学的思路更加严谨
3.学习总结
3.1学习进度条
周 |
这周所花时间 |
代码行 |
学到的知识 |
目前比较迷惑的问题 |
第六周 |
20H | 372 | if-else语句和数学函数 | 暂无 |
第七周 |
10H | 226 | 分支结构 | 暂无 |
带八周 |
12H | 110 | for循环结构 | 暂无 |
第九周 |
8H | 180 | 函数的声明,定义和调用 | 对于自定义函数的用法还比较迷茫 |
第十周 |
21H | 350 | 学习了巩固了嵌套语句和逻辑表达式的使用方法 | 对于字符型数据类型的运用和各种运算符的先后级还有待学习 |
第十一周 |
17H | 530 | 学习了switch语句的使用方法,和一些数组的使用 | getchar不大会用,数组也是 |
第十二周 |
20H | 546 | 学习了while语句和do-while语句的使用方法 | 对于字符串的运用,数组的运用问题很大 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这次的作业感觉非常难,再加上有很多东西要学,所以感觉压力很大。这一周作业是我第一次出现自己的代码一直出现错误,不得不去借鉴他人的代码,而且自己还找不出改进的方法。
所以这次作业是我目前做的最差的一次作业。