函数

一.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!(nm)!n!​​算出从n个不同元素中取出m个元素(mn)的组合数。

建议定义和调用函数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).考试结果满意么,怎么改进?

不满意,很多题目都是一知半解,希望自己可以在这方面勤加锻炼,更加上心。

 

posted @ 2017-12-30 16:35  信管罗艺芳  阅读(466)  评论(0编辑  收藏  举报