函数

题目1:

7-1 求组合数(15 分)

本题要求编写程序,根据公式Cnm​​=m!(nm)!n!​​算出从n个不同元素中取出m个元素(mn)的组合数。

建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double


1. 本题PTA提交列表

 

2. 设计思路

分别使用fact函数求累乘,再将最后结果进行处理

3.本题调试过程碰到问题及PTA提交列表情况说明

碰到问题:1.如何求累乘2.如何调用函数

第一次提交,函数最后return值有误。return 0后无结果,反复查看后发现错误改正。

题目2.

7-3 求幂之和(15 分)

本题要求编写程序,计算sum=21​​+22​​+23​​++2n​​。可以调用pow函数求幂。

1. 本题PTA提交列表

 

 

本题代码

 

2. 设计思路

思路:设计函数能使参数进行求幂之和,主要结构为循环结构。

3.本题调试过程碰到问题及PTA提交列表情况说明

 碰到问题:1.形参与实参的相互传递2.子函数传值问题

 第一次提交未在主函数中定义sum,固编译错误,根据提示改正。

第二次提交时没有在主函数中写sum=f(n),所以子函数传值无效,根据提示改正。

 题目3.

7-5 近似求PI(15 分)

本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。

2π​​=1+31!​​+3×52!​​+3×5×73!​​++3×5××(2×i+1)i!​​+

本题提交列表

 

本题代码

 

 

2.设计思路

应用循环结构求最后一项大小,同时求出各元素累加的值

3.本题调试过程碰到问题及PTA提交列表情况说明

碰到问题:循环逻辑不同,函数定义错误。

第一次提交输出格式错误,最后一位多出一个0,将"%lf"改为“%.5”则正确。

#代码互评

互评同学名称:张瑜

题目

7-8 求n以内最大的k个素数以及它们的和(20 分)

本题要求计算并输出不超过n的最大的k个素数以及它们的和。

2.代码对比

我的

张瑜

 

 

3.我和同学代码不同在哪里?有哪些各自优势?你更喜欢哪种代码风格?如果同学代码有错的也请帮忙指出来哪里出问题。

我用了数组结构,看起来稍显复杂。张瑜的程序简洁短小,一目了然,但数组结构可以清晰地表明程序是将数组中的数字往前推进,并且容易看懂,思路清晰,发现错误后也能顺着思路尽快找到。我更喜欢我的代码。

#三、PTA排名

 

#四、本周学习总结

1.你学会了什么?

1).函数的声明,定义和调用

2)函数的功能

3).实参和形参的关系

4).在函数中,数据的传递

5).局部变量和全局变量

2.本周的内容,你还不会什么?

感觉关于子函数释放结果的问题还有点迷糊,关于函数类型的选择也不太清晰,还需多加强基础知识。

3.其他总结

递归问题感觉一知半解,需要多找一些这方面的题型加深印象。

posted @ 2017-12-28 15:37  不科学的二喵  阅读(550)  评论(0编辑  收藏  举报