函数
一、PTA实验作业
题目一、7-22 求组合数(15 分)
本题要求编写程序,根据公式Cnm=m!(n−m)!n!算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)
计算n!
,其中n
的类型是int
,函数类型是double
。
输入格式:
输入在一行中给出两个正整数m和n(m≤n),以空格分隔。
输出格式:
按照格式“result = 组合数计算结果”输出。题目保证结果在double
类型范围内。
输入样例:
2 7
输出样例:
result = 21
1、本题PTA提交列表
2、设计思路
先输入m,n
定义一个子函数fact用来算阶层;
计算sum=fact(n)/(fact(m)fuact(n-km))
输出sum的值
子函数:
定义整型变量i,双精度浮点型变量result.
当i=1,i<=n时执行循环,计算出result=出result*i,直到i>n时结束循环
返回出result值
结构图
3、代码截图
4、调试过程
输出的时候没有注意到结果不能有小数,将result = %lf改成result = %.0lf
题目二、、7-25 求幂之和(15 分)
本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。
输入格式:
输入在一行中给出正整数n(≤10)。
输出格式:
按照格式“result = 计算结果”输出。
输入样例:
5
输出样例:
result = 62
1、本题PTA提交列表
2、设计思路
定义n,i,sum
输入n;
定义一个子函数:用循环的方式求幂的和
结构图:
3、代码截图
4、调试过程
由于本题一次性通过,没有什么错误调试,需要注意的地方是定义的子函数类型与调用时要一致,还有就是要注意输出格式要与题目一致
题目三、7-41 判断数字字符(10 分)
编写函数,判断指定的字符是否是数字字符,如果是函数返回1,否则函数返回0.要求在主调函数中输入该字符,调用函数并输出判断结果。
输入格式:
在一行中给出1个字符。
输出格式:
对于给定输入的字符,输出判断结果yes或no。
输入样例: 6
输出样例: yes
输入样例: H
输出样例: no
1、本题PTA的提交列表
2、设计思路
现将要判断的字符a输进去
写一个子函数[若满足a>='0'&&a<='9',则返回值为1,否则返回0]
在主函数里面判断若返回值为1,则输出yes
若返回值为0,则输出no
结构图:
3、代码截图
4、调试过程
因为本次题目一次性通过,个人觉得需要注意的是子函数中的条件0和9需要写单引号,因为他们是作为字符为条件
二、同学代码互评
我的程序的子函数是求阶层和的,而芷逸的子函数中直接算结果,需要多次循环算阶层,子函数冗长,没有简化程序
我的程序比较简洁,我比较喜欢自己的程序
三、本周PTA最后排名
四、我的学习总结
1、我学会了什么
本周通过对函数的学习,
1.函数的返回值类型,也就是函数return的内容的类型,注意如果有多种结束函数途径的话一定要有多个return
2.函数形参的传递关系,是实参传给形参,有的可以改变值,有的不可以改变值
3.利用函数的形式,可以减少程序的一些循环算法,使程序变得简单
4.int类型的函数可以不用声明,void类型的函数没有返回值
2、不会的地方
用函数调用整个数组的时候有时会出错,有时候函数的类型会混淆
posted on 2017-12-28 23:01 huangyilin 阅读(700) 评论(0) 编辑 收藏 举报