这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/9929 |
我在这个课程的目标是 | 了解熟使用while和do-while循环结构解决问题 |
这个作业在哪个地方具体方面帮助我实现目标 | PTA作业,《C Primer Plus》,C语言的课本 |
参考文献 | C语言程序设计 ,百度百科 ,百度文献 |
1.PTA实验作业
1.题目名
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过109的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
1.1.1数据处理
数据表达:将n, sum, count定义为整型变量
数据处理:运用了scanf.printf.while语句, 表达式有sum+=n%10;n/=10;count++;
伪代码:定义变量 n, sum=0, count=0.
while(n!=0) 使用while语句,当n不等于0时进行sum+=n%10 ,取余n/=10,count++ 累加位数
输出 位数和各位数之和
1.1.2实验截图代码
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 有3位数,各位数之和为6 |
654 | 3 15 | 有3位数,各位数之和为15 |
1314520 | 7 16 | 有7位数,各位数之和为16 |
010518 | 5 15 | 虽然有6个数,但是位数还是为5,各位数之和为15 |
1.1.4 PTA提交列表及说明
1.2题目名
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
输入格式:
输入在一行中顺序给出3个正整数N、U、D,其中D 输出格式:
在一行中输出蠕虫爬出井的时间,以分钟为单位。
1.2.1数据处理
数据表达:将N,U,D,i,sum定义为整型变量
数据处理:用到了scanf,printf, while,if-else,break语句,表达式:N=N-U;i++;N=N+D;
伪代码:
定义变量 N,U,D,sum=0
while(1)
N=N-U(蠕虫上爬增加高度)
累计时间
如果蠕虫爬的距离大于等于井深,跳出循环
N=N+D(蠕虫休息,高度下滑)
累计时间
输出时间
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 2 1 | 23 | 蠕虫爬出井的时间为23分钟 |
12 5 1 | 5 | 蠕虫爬出井的时间为5分钟 |
15 6 4 | 11 | 蠕虫爬出井的时间为11分钟 |
19 6 5 | 27 | 蠕虫爬出井的时间为27分钟 |
1.2.4PTA提交列表及说明
说明:Q1:编译错误
A1:将N=N-U打成了N=N+U,然后while(N!=0)后面多加了一个分号
Q2:答案正确
A2:将N=N+U改成N=N-U,while(N!=0)后面的分号去除
2代码互评
1.同学代码截图 (李杰)
2.自己代码截图
说明:1:我们定义的变量不同,他用的是n, digits, count,我用的是n, count, sum;
2:他的格式看起比我的更加简洁
3.学习总结
3.1学习进度条:
周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第4周/9.16~9.22 | 2h | 40 | 初步了解c语言,编写一些简单的代码 | 不知道为什么那样编写,不知道到每个字符的意思 |
第5、6周/9.23~10.6 | 50h | 90 | 学会用markdown语法写博客园,学会下载用编程软件并且初步了解,学会如何提问 | 还是不太熟悉编程软件的使用流程,PTA编程出错后还是要寻找半天 |
第7周/10.7~10.11 | 20h | 176 | 学会使用if-else语句,格式化输入语句scanf(),初步了解了各个数据类型 | 每个数据类型还是不太熟悉,每个语句的细节没有太了解 |
第8周/10.14~10.20 | 15h | 222 | 学会了for循环语句,循环结构以及语句的三个表达式,初步了解指定次数的循环程序4个部分 | for循环语句还不太熟练 |
第9周/10.21~10.26 | 20h | 266 | 学会如何在定义函数,并且学会如何调用它,然后学会如何检查函数出错处,学会运用系统的总结学习经验 | 对于如果调用和定义函数还不太熟悉,如果使用辅助工具还不太熟悉 |
第10周/10.27~11.2 | 13h | 364 | 续熟悉调用定义函数、了解字符型数据类型,熟悉逻辑运算符和分支结构 | dev-c++的运行出现问题,然后通过上了知乎才解决;然后那个字符型数据类型还不太会 |
第11周/11.3~11.8 | 10h | 456 | 了解熟悉多分支结构switch语句的使用 | 对于题目传化为代码还是比较迷惑 |
第12周/11.9~11.16 | 11h | 503 | 了解熟使用while和do-while循环结构解决问题 | 对于for,while,do-while等循环结构的运用和区分还是不太清楚 |
3.2 累积代码行和博客字
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2学习体会
①这周相比于上周的学习状态有所下滑,可能是因为社团活动和篮球赛消耗了一部分精力,希望下周能够及时调整回来;
②这周学习了循环结构while和do-while也回顾了一下for循环,对于这三个循环有了本质上的了解;
③希望下周能够提早的预习所学知识