这个作业要求在哪里 | https://pintia.cn/problem-sets/dashboard |
我在这个课程的目标是 | 掌握自定义函数的用法 |
这个作业在那个具体方面帮助我实现目标 | 函数的使用得到训练 |
参考文献 | 百度,scdn社区 |
1.PTA实验作业
1.1输出Fibonacci数列的前n项
内容:已知Fibonacci数列的规律是1,1,2,3,5,8,…,即数列的前两项是1,其后的每一项都是其前两项的和。输出Fibonacci数列的前n(1<=n<=40)项。要求定义并调用含静态变量的函数Fibonacci(n)计算Fibonacci数列的第n项。
1.1.1数据处理
1.数据表达:定义了整型变量n,i;n用来表示求到第几位。i是用来循环的。
1.数据处理:
1.1.2实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
10 | 1 1 2 3 5 8 13 21 34 55 | n=10输出该数列到第十项 |
3 | 1 1 2 | n=3输出该数列前三项 |
1.1.4PTA提交列表及说明
1.这个题写的时候老是忘记打分号,在提交一次后将整个代码仔细检查了一遍后,又再次提交了,然后成功了。
2.这个题较为简单,我写的比较仔细,所以除了有一些编辑上的错误外,没有什么逻辑上的错误了,提交两次就做对了。
1.2 建国的数学难题
内容:众所周知,建国是一个数学天才,但是今天他被下面这道题考到了,你能帮建国解决这个难题吗?
f(1) = k
f(2) = f(1) + 1
f(3) = f(2) + 1 + 2
…
f(n) = f(n-1) + (1 + 2 + … + n-1)
1.2.1数据处理
数据表达:定义了整型变量T,n,k.T表示样例数。
数据处理:
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
2 1 1 2 3 | 1 4 | 无 |
1.2.4 PTA提交列表及说明
1.在自定义函数那一块,一开始没有理清题目的这个递归关系,所以导致一直仅仅只是部分正确。
2.在自定义函数中和主函数里用了重复的变量,导致我自己的逻辑出现了错误。
3.最后我理清了思路然后修改了就完全正确了。
2.代码互评
自己的:
同学的:
- 我和这位同学的代码主函数的写法是一样的,不同点在于写这个自定义函数的方法。
- 我是采用了数组的思想,然后递推,而他用的是函数的递推方式,这两种方法大同小异,都挺好的。
自己的:
同学的:
1.这位同学的代码和我的不同点还是在于自定义函数的编写。就是主要思路是一样的,但是用到的东西就是不一样。
2.我用到的工具是数组来实现这个函数所要执行的程序,而这位同学主要用的是递归函数来实现的。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第五周 | 20h | 70 | 进制之间的转换与数的原码,补码,反码表示 | 无 |
第六周 | 18h | 90 | c语言程序的基本结构 | 无 |
第七周 | 15h | 65 | 数据类型和运算符 | 无 |
第八周 | 18h | 120 | 顺序结构与选择结构,循环结构 | 无 |
第九周 | 10h | 100 | 一维数组的使用 | 有时候不知道应该怎样使用 |
第十周 | 14h | 150 | 二维数组的使用 | 不会正确使用字符数据类型的二维数组 |
第十一周 | 18h | 200 | 字符数组的使用 | 有些时候不知道怎么使用字符数组 |
第十二周 | 14h | 186 | 自定义函数的使用 | 不知道应该怎样使用 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1学习内容总结
3.3.2 学习体会
1.感觉自定义函数还是很好理解的运用起来还算比较熟练。在写这一次的pta作业中遇到的困难也没有那么多,通过上网查询的方式基本就能解决自己的困难。
2.在写自定义函数的时候一定要注意这个函数所要完成的功能,看这个函数是否需要返回值和清楚返回值的类型。这些我觉得是在写自定义函数时应该要注意的点。
3.这一个知识点我觉得学起来还算得心应手,挺顺利的,在写Pta时遇到困难也能通过上网查询资料就解决了。