这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业009 |
我在这个课程的目标是 | 对于学过的内容,可以很熟练的进行编程,而且还可以看懂代码的每一步代表着什么意思,训练自己找错的能力 |
这个作业在那个具体方面帮助我实现目标 | PTA作业可以帮助我们巩固新学的内容,并且还逼着我们往前学习,还可以找到自己的不足 |
参考文献 | 百度、《C Primer Plus》第六版,C语言程序设计 |
1.PTA实验作业
1.1题目名1
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?
1.1.1数据处理
数据表达:定义了x,i,j,k,count五个变量,都是整型变量,并且给count赋值为0
数据处理:
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
13 | fen5:2, fen2:1, fen1:1, total:4 fen5:1, fen2:3, fen1:2, total:6 fen5:1, fen2:2, fen1:4, total:7 fen5:1, fen2:1, fen1:6, total:8 count = 4 | 例题上的数据 |
10 | fen5:1, fen2:2, fen1:1, total:4 fen5:1, fen2:1, fen1:3, total:5 | 随机输出的数值进行测试 |
15 | fen5:2, fen2:2, fen1:1, total:5 fen5:2, fen2:1, fen1:3, total:6 fen5:1, fen2:4, fen1:2, total:7 fen5:1, fen2:3, fen1:4, total:8 fen5:1, fen2:2, fen1:6, total:9 fen5:1, fen2:1, fen1:8, total:10 | 随机输入的数据进行测试 |
1.1.4PTA提交列表及说明
这道题在vs上测试了,然后再放到这里来的,我说说做这题的思路吧:我先得到单独用每个硬币看能怎样变成我要的钱数或者尽量靠近我的钱数,得到三个数字后,用if语句判断三个数字加起来是否等于我要兑换的钱数,如果不等于,就开始慢慢的减,减到三个数字加起来等于我要的数字,就输出一个,并计数一次,以此这样算当循环结束后,输出count的数值,表示有几种方法
1.2 题目名2
所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。本题要求编写程序,找出任意两正整数m和n之间的所有完数。
1.2.1 数据处理
数据表达:定义了n,m,i,j,a,count六个变量,都是整型变量,并且给count赋值为0
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2 30 | 6 = 1 + 2 + 3 28 = 1 + 2 + 4 + 7 + 14 | 例题上的数据 |
36 80 | None | 随机输入的数据进行测试 |
100 500 | 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 | 随机输入的数据进行测验 |
1.2.4 PTA提交列表及说明
1.部分正确:没有注意到输出格式都空了格,所以显示答案错误,把答案空格就行了
2.代码互评
2.1同学代码截图(计科2班高茗同学)
2.2自己代码截图
2.3比较结果
1.我们的方法不一样,她是分情况来讨论,如果是偶数,按照一套语句去执行;如果是奇数,除以2后加上个0.5,然后在进行计算;而我没有分情况讨论,我是放在一起的去进行循环,我用n/2+0.5也可以保证我输出来的是正确的
2.我觉得她的方法我也蛮喜欢的,很直接,虽然长一些,但很明了,分情况来讨论,思路也比较简单
2.4同学代码截图(计科3班李双同学)
2.5自己代码截图
2.6比较结果
1.我们的计算方法不一样,她是先把五分的数值确定好后,再确定后面的两分和一分,依次累减,进行计算,最后输出
2.我是看用每个硬币看能怎样变成我要的钱数或者尽量靠近我的钱数,然后再依次累减,直到满足加起来等于我要的数字就可以输出了
3.学习总结
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周(9.19-3.27) | 6天 | 26行 | Hello world编程和Markdown语法 | 现在没有疑惑 |
第二周(9.25-10.4) | 4天 | 45行 | 华氏度与摄氏度的转换 | 对于变量的类型还不是很懂 |
第三周(10.8-10.11) | 3天 | 大约100行左右 | 计算分段函数和学习if-else语句 | 对于if-else语句还是不那么熟练 |
第四周(10.15-10.17) | 3天 | 大约75行左右 | for循环语句和指定次数的循环程序设计 | 关于指定次数的循环程序设计还不是很清楚 |
第五周(10.22-10.25) | 4天 | 大约110行左右 | 使用自定义函数来编程和生成乘方表和阶乘表 | 关于自定义函数的编程的细节还是不太懂 |
第六周(10.29-11.1) | 4天 | 大约120行左右 | 运用分支结构编程、字符型数据、逻辑运算符 | 对于逻辑运算符还不是很清楚,有一点点懵 |
第七周(11.6-11.8) | 3天 | 大约150行左右 | 运用switch语句来编程 | 现在感觉没有什么疑惑点,可能还没发现 |
第八周(11.12-11.15) | 3天 | 大约200行左右 | 进一步学习循环结构,学习了while和do-while语句 | 目前还没有发现什么疑惑点 |
第九周(11.19-11.22) | 3天 | 大约170行左右 | 学习了break语句和continue语句的用法以及嵌套循环 | 可能是刚学,在做PTA不是很熟练 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
这一周我们学习了break语句和continue语句的用法以及嵌套循环,break语句和continue语句的区别还是比较好区分的,break语句是跳出这个循环,而continue语句只是跳出本次循环,但还是要继续循环的。这周讲的内容我觉得算是以前的一种延伸,但可能是刚接触,在用的时候还是有一点点不熟练,要多练习,而且也快到期末考试了,更要加油啦,而且是手写代码,有点紧张呀,相信自己,加油!