这个作业的要求在哪里 | 理解函数的运用 会使用函数解决问题 |
---|---|
我在这个课程的目标是 | <可以较为熟练地理解函数> |
这个作业在那个具体方面帮助我实现目标 | <函数题> |
参考文献 | <C语言程序设计教程> |
1 PTAS实验作业
1.1 斐波那契数列
已知Fibonacci数列的规律是1,1,2,3,5,8,…,即数列的前两项是1,其后的每一项都是其前两项的和。输出Fibonacci数列的前n(1<=n<=40)项。要求定义并调用含静态变量的函数Fibonacci(n)计算Fibonacci数列的第n项。
1.1.1数据处理
数据表达:我定义了 i,n,count=2,这三个变量,再令f1=1,f2=1,定义前面固定的两项。用i来套入循环,输出结果
1.1.2实验代码截图
1.1.3造测试数据
因为我个人原因,这次并没有来得及做后面的编程题,所以没有数据,实验代码是我后面打上去的,不能进行提交,所以没有数据,请谅解。
1.1.4 PTA提交列表说明
理由同上请谅解
提交列表说明:
根据我自己写代码的记忆来说,这个斐波那契数列还有些不懂得地方,比如输出时,那些%-10lf什么之类的,我并不是很懂,但是其他方面自认为了解的差不多了。
解决办法:
上网把这些东西查了一遍感觉自己有似懂非懂了,然后按照网上的代码进行修改
1.2 计算2个复数之和与之积分别输入2个复数的实部与虚部,用函数实现计算2个复数之和与之积。
若2个复数分别为:c1=x1+(y1)i, c2=x2+(y2)i,
则:
c1+c2 = (x1+x2) + (y1+y2)i
c1c2 = (x1x2-y1y2) + (x1y2+x2*y1)i
输入格式:
输入在一行中给出4个实数,分别代表c1和c2的实部和虚部。
1.2.1数据处理
数据表达:我定义了x1,x2,y1,y2来表示两个复数的实部和虚部,定义a1,a2,b1,b2来定义复数的值
1.2.2实验代码截图
1.2.3造测试数据
这是我后面补上的,所以没有数据,请见谅
1.2.4 PTA提交列表及说明
理由同上请谅解
提交列表说明:
经过我后面的补做,我发现我遇到这个题目完全无法下手,我不知道从哪里开始,我也不知到和复数有关的表达式该怎样用键盘输写出来,同时,里面的实部和虚部我也不知道该怎样去表达。
解决办法:
关于这道题目除了浏览器我不觉得我可以做出来,我在网上看了三个这样的题目最后我找到我可以理解的把他打在我的pta里面,并且消化吸收了。
2 代码互评
同学代码截图
自己代码截图
代码分析:
1.在该题中伍靓同学使用了函数,而我对于函数不是很会所以并未使用。
2.在变量的定义上我和伍靓同学也有不同的地方,比如一个用法相同的的变量,我定义的是f伍靓同学定义的是f3。
3.运用选择结构时,这方面感觉我和伍靓同学大同小异
4.在令每四个数换一次行时,我是定义了一个变量count,每循环一次令count加1,然后对4取它的余数,结果为0则换行一次而伍靓同学看的是i
同学代码截图
这是陈自奔同学的。
自己代码截图
代码分析:
在代码形式上陈自奔同学运用了函数的形式,而我是比较普通的,陈自奔同学在复数相加上使用的方法是首先直接定义a,b,c,d四个变量,随后直接定义sum1,sum2,同样,在复数相乘上也已一样,层次较为分明,而我是在第一步时直接全部定义完,后面的求和与相乘也是全部在一起,没有格式,看起来很凌乱。
学习总结
3.1 学习进度条
3.2累计代码行和博客字数
3.3学习体会
本周的学习中,我很困惑,在函数题上,我不知道入手点在哪,而且有很多的题目我并不知道该如何去输出他的意思,简单来说就是不懂表达,比如我做过的题那个复数求和与乘积那个题目,我不知道如何表达它的意思,还有函数题,不是我不想做,是我根本做不出,我想过去网上查,但是网上也没有,我知道要定义一个函数,但是具体要怎么定义,定义什么东西我却不了解,还有选择题种有一些函数的知识也有很多不了解,有些编程题,我并不知道该如何去做出来,就是不知道程序是怎样运行的,有时候根本看不懂代码,去网上搜的时候他是会有答案,但我想知道的是过程。