函数

 

一、PTA实验作业

题目1:求组合数

1. 本题PTA提交列表

2. 设计思路

这题求的是组合数,即阶乘,因为要求三个阶乘,所以调用一个求阶乘的函数,最后printf  s=jc(n)/(jc(m)*jc(n-m))即可。

子函数中写一个循环,求n个数的阶乘,再返回x的值。三个不同的参数调用同一个函数,即可方便地求出组合数。

 

 

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

错误一:子函数中,求阶乘时,x=x*i而不是x*(i+1),这样求出来的阶乘答案会出错。

 

错误二: 主函数中 s=jc(n)/jc(m)*jc(n-m),因为后两个相乘的是一个整体,所以要加个括号。

错误三:s的变量类型定义为整型的,导致m=n/2结果小于1时,因为不是浮点型,所以直接输出0.应把S定义成double 。

 

 

题目2:求幂之和

1. 本题PTA提交列表 

 

2.设计思路

本题较为简单,调用一个求幂之和的函数,主函数中只要简单写输入和输出即可。

子函数用循环和数学函数计算幂之和,注意头文件调用#include<math.h>。

 

 

题目3:近似求PI

 1. 本题PTA提交列表 

 

2.设计思路

 题目要求求近似pi,给的是pi/2,所以先求出pi/2,再在printf 中乘以2即可。

在函数中结合采用阶乘和求和,用while 循环,当最后一个值小于esp 时跳出循环,再把值返回给子函数。

 

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

错误一:没有考虑eps较大和较小的情况,还有格斯没按pta要求来导致答案错误。 

 

二、同学代码结对互评

 

我的代码子函数中直接算结果,需要多次循环算阶层,没有简化程序,依琳是求阶层和,程序比较简洁,她的更好。

 三、本周题目集的PTA最后排名

四、我的学习总结

我学会了什么

1.函数类型和函数返回值类型相同
有多种结束函数途径的话一定要有多个return
2.函数形参的传递关系,是实参传给形参
3.利用函数的形式,可以减少程序的一些循环算法,使程序变得简单
4.int类型的函数可以不用声明,void类型的函数没有返回值
2、不会的地方
对于函数的使用还不够熟练,有些题目即使用函数简单也会想要避开函数直接写,但往往更麻烦。
应加强函数的训练,多打函数的代码。
posted @ 2017-12-29 00:06  linzhiyi  阅读(361)  评论(0编辑  收藏  举报