函数道题(含答案).docx

上传人:scccc 文档编号:14485050 上传时间:2022-02-07 格式:DOCX 页数:8 大小:72.43KB
返回 下载 相关 举报
函数道题(含答案).docx_第1页
第1页 / 共8页
函数道题(含答案).docx_第2页
第2页 / 共8页
函数道题(含答案).docx_第3页
第3页 / 共8页
函数道题(含答案).docx_第4页
第4页 / 共8页
函数道题(含答案).docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《函数道题(含答案).docx》由会员分享,可在线阅读,更多相关《函数道题(含答案).docx(8页珍藏版)》请在三一文库上搜索。

1、函数函数01:素数输入一组整数,其中第一个整数为个数n,后续为n个整数,输出其中素数的个数。要求将判断 一个整数是否用函数实现。输入3 5 7 9输出2测试:输入5 10 11 12 13 14输出2#includeusing namespace std;int f(int a)for(i=2;i=a;i+) if(a%i=0) break;if(a=i)return 1;elsereturn 0;)int main()(int d=0,n,m,i;cinn;for(i=1;i=n;i+) cinm; d+=f(m);)coutdM H;return 0;)函数02:因数个数之和输入一组整数,

2、计算这些整数的因数个数之和。其中第一个整数为个数n,后续为n个整数。要 求计算一个整数的因数个数用函数实现。如输入36 8 10,其中6的因数个数为4,8的因数个数为4,10的因数个数为10,所以计算结果 为12。输入3 6 8 10输出12测试:输入 5 10 11 12 13 14 输出 18#includeusing namespace std;int f(int a)int s=Oj;cina;for(i=1;i=a;i+) if(a%i=O) s+;return s;)int main()(int d=O,n,a,i;cinn;for(i=1;i=n;i+) d+=f(a);cout

3、dM ”;return 0;)函数03: Fibonacci数列输入2个正整数m和n(1=m,n=10000),输出m和n之间所有的Fibonacci数。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。说明:Fibonacci序列为1 1 23 5 8 13 21输入5 21输出8 13include using namespace std;int fib(int a) int fO=1,f1=1,f,i;if(a=1|a=2)return 1;elsefor(i=1;ia-2;i+)f=fO+f1;fO=f1;f1=f;return f;)int main() in

4、t m,n,i;cinmn;for(i=1;im&fib(i)n)coutfib(i)M H;return 0;)函数04:最大值从键盘输入n对整数,求这些对整数间所有奇数之和的最大值。其中计算两个整数m、n(mn) 之间所有奇数的和用函数实现。输入格式:第一个整数为n,后续为n对整数。输入 3 10 20 17 31 40 45输出192include using namespace std;int f(int a,int b) int s=0J;for(i=a;i=b;i+) if(i%2=1)s+=i;)return s;)int main() int n,i,a,b,x=0;cinn;

5、for(i=1;i=n;i+) cinab;if(xf(a,b)x=f(a,b);)coutxreturn 0;)函数05:阶乘编写一个递归函数fac,该函数计算n的阶乘,如5的阶乘为5x4x3x2x1, 0的阶乘为1。main 函数中输入n个整数,计算这些整数的阶乘平均值。第一个整数位个数n,后续为n个整数。输入3 34 5输出50#includeusing namespace std;int fac(int n)(if(n=0|n=1)return 1;return n*fac(n-1);)int main()(intdouble s=0;cinn;for(i=1;i=n;i+)(cinm

6、;fac(m);s+=fac(m);)couts/nendl;return 0;)函数06:小牛问题编程求解问题。若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年 时有多少头母牛。(用递归函数方法求解)输入7输出6#includeusing namespace std;int f(int n)(if(n4)return 1;elsereturn f(n-1)+f(n-3);)int main()(int n;cinn;coutf(n)endl;return 0;)函数07:最大公约数输入n对整数,计算这n对整数最大公约数之和。其中计算一对整数的最大公约数用函数实现。输入格式

7、:第一个为对数n,后续为n对整数。输入 3 14 18 20 30 25 35 输出 17#includeusing namespace std;int f(int a,int b)(int i;for(i=a;i=1;i-)(if(a%i=O&b%i=O) break;)return i;)int main()(int a,b,n,i,s=O;cinn;for(i=1;i=n;i+)(cinab;s+=f(a,b);)coutsendl;return 0;)函数08:哥函数设计一个递归函数,求x的n次塞,其中n为非负整数。在main函数中输入X和一个整数n, 输出x的n次事。输入3.5 4输

8、出150.062#includeusing namespace std;double f(double x,int n)(if(n=O)return 1;elsereturn x*f(x,n-1);)int main()double x;int n;cinxn;coutf(x,n)endl;return 0;)函数09:函函数定义运算Mk表示n的k次塞,从键盘输入整数n和k,计算1+2+Mk,其中求Mk 用函数实现。输入3 5输出276#includeusing namespace std;int f(int x,int n)(if(n=0)return 1;elsereturn x*f(x,

9、n-1);)int main()(int n,k,i,s=0;cinnk;for(i=1;i0函数返回值为1,若x0函数返回值为-1,若x=0函数返回值为0, 利用该函数实现计算输入的n个整数中正整数的平均值。输入格式中第一个为整数个数n,后续为n个整数。输入 5 25-5 3 -3输出 3.33333函数17:数根问题递归求解输入n个正整数(输入格式中第一个为整数个数n,后续为n个整数),输出各个数的数根。要 求计算一个数的数根部分利用递归函数实现。数根的定义:对于一个正整数n,我们将它的各个 位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到 它成为一个一位

10、数,这个一位数也算是n的数根。例如:考虑24, 2+4=6, 6就是24的数根。 考虑39, 3+9=12, 1+2=3, 3就是39的数根。样例输入5 23 424 98 632 12345样例输出5 1826函数18:奇数判断题目描述输入若干个正整数(输入时以0结束),输出其中所有的奇数及奇数个数。要求判断一个数num 的奇偶写成函数bool isodd (num),奇数返回true,否则返回false。样例输入23 4 235 3 52 30 19 11 0样例输出23 235 3 19 11 5函数19:利用一个自定义函数解决完数和素数问题题目描述编写一个函数求一个数的所有因子之和。主

11、函数中输入两个整数m、n,利用该函数依次实现下 列问题:1)找出n以内所有完数:2)找出mn间所有素数提示:完数定义为除自身外的所有 因子之和等于它本身的数:素数定义为除了能被1和自身整数外,不能被其它数整数。注意: 完数和素数分2行显示。样例输入50 100样例输出6 2853 59 61 67 71 73 79 83 89 97函数20: fibonacci数列倒数求和题目描述计算1+1+1/2+1/3+1/5+1/8+-,当最后一项小于e (用户输入)时结束。提示各项的分母为 fibonacci数列:1,1,2,3,5,8,13,。,要求:求fibonacci数列第n项写成递归函数。样例输入0.01样例输出3.3417

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1