函数
一.PTA实验作业
题目一.7-42 函数编程-分段函数:编写函数,计算下面分段函数的值。
1.本题PTA提交列表
2.设计思路
主函数中定义并输入x,调用子函数sum(x),子函数sum(x)针对x的不同取值有不同的y值。最后计算并输出y。
3.本题调试过程碰到问题及PTA提交列表情况说明。
(1).编译错误:对函数的运用不够熟悉,exp函数写成epx函数,导致编译错误。
(2).答案错误:还是答案格式出错,题目的格式是输出y=答案,而我直接输出答案。
4.代码截图。
题目二.7-1 求组合数:本题要求编写程序,根据公式Cnm=m!(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)
计算n!
,其中n
的类型是int
,函数类型是double
。
1. 本题PTA提交列表
2. 设计思路
在主函数中定义m,n,并输入这两者的值,在输出时调用子函数fact(n)进行计算。子函数fact(n)中定义sum和i初始化为1,当i<=n时,sum*=i,求n的阶层。
3.本题调试过程碰到问题及PTA提交列表情况说明。
代码并没有问题,但题目要求输出的答案为整数,这题作为基础题容易掉坑。输出应是%.0lf。
4.代码截图。
题目三.7-3 求幂之和:本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。
1.本题PTA提交列表
2. 设计思路
在主函数中定义并输入n,在输出时运用子函数qm(n)求出答案。子函数中定义了i=1,sum=0,每次i<=n,sum +=pow(2,i)。
3.本题调试过程碰到问题及PTA提交列表情况说明。
这题是基础题,并没有什么难度。所以提交时也没有遇到什么突发情况。
4.代码截图。
若上图所示。
二、同学代码结对互评
1.互评同学:陈冰艳
2.我的代码、互评同学代码截图
陈冰艳同学的代码:
我的代码:
3.我和陈冰艳同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?
不同在于:陈冰艳同学根据题目将n分成i与(n-i),再利用子函数判断其是否为素数,若是返回1,否则返回0,这样当i与(n-i)都为素数时,if条件语句才成立。我的想法和陈冰艳同学有些类似,我的子函数也是判断传递过来的数是否为素数,
若是则返回这个数本身,不是就不返回。但是我的子函数类型为int,不是素数时不返回值有漏洞。只找出这个bug,其他还没看出来,希望没有错误了。
各自优势:陈冰艳同学的代码简洁易懂,而我的这个代码只是一个半成品。
我更喜欢陈冰艳同学的代码。
三、截图本周题目集的PTA最后排名。
四、本周学习总结(2分)
1.我学会了简单的函数编程题
2.本周的内容,你还不会什么?
PTA:7-2,7-7,7-9,7-10.
3.函数考试总结
(1).哪题做错了,怎么改?
7-4做错了,思路有点偏差。:注意子函数的类型,是否要返回值。
(2).考试结果满意么,怎么改进?
不满意,很多题目都是一知半解,希望自己可以在这方面勤加锻炼,更加上心。