函数16道题(含答案)_第1页
函数16道题(含答案)_第2页
函数16道题(含答案)_第3页
函数16道题(含答案)_第4页
函数16道题(含答案)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、函数函数01:素数输入一组整数,其中第一个整数为个数n,后续为n个整数,输出其中素数的个数。要求将判断一个整数是否用函数实现。输入3 5 7 9输出2测试:输入5 10 11 12 13 14输出2#include<iostream>using namespace std; int f(int a) int i; for(i=2;i<=a;i+) if(a%i=0) break; if(a=i) return 1; else return 0;int main() int d=0,n,m,i; cin>>n; for(i=1;i<=n;i+) cin>

2、>m; d+=f(m); cout<<d<<" " return 0;函数02:因数个数之和输入一组整数,计算这些整数的因数个数之和。其中第一个整数为个数n,后续为n个整数。要求计算一个整数的因数个数用函数实现。如输入3 6 8 10,其中6的因数个数为4,8的因数个数为4,10的因数个数为10,所以计算结果为12。输入3 6 8 10输出12测试:输入5 10 11 12 13 14输出18#include<iostream>using namespace std; int f(int a) int s=0,i; cin>&

3、gt;a; for(i=1;i<=a;i+) if(a%i=0) s+; return s;int main() int d=0,n,a,i; cin>>n; for(i=1;i<=n;i+) d+=f(a); cout<<d<<" " return 0;函数03:Fibonacci数列输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。说明:Fibonacci 序列为1 1 2 3 5 8 13

4、 21 .输入5 21输出8 13#include <iostream> using namespace std; int fib(int a) int f0=1,f1=1,f,i; if(a=1|a=2) return 1; else for(i=1;i<a-2;i+) f=f0+f1; f0=f1; f1=f; return f; int main() int m,n,i; cin>>m>>n; for(i=1;i<=10000;i+) if(fib(i)>m&&fib(i)<n) cout<<fib(

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

6、>>n; for(i=1;i<=n;i+) cin>>a>>b; if(x<f(a,b) x=f(a,b); cout<<x<<" " return 0;函数05:阶乘编写一个递归函数fac,该函数计算n的阶乘,如5的阶乘为5x4x3x2x1,0的阶乘为1。main函数中输入n个整数,计算这些整数的阶乘平均值。第一个整数位个数n,后续为n个整数。输入3 3 4 5输出50#include<iostream>using namespace std;int fac(int n) if(n=0|n

7、=1) return 1; return n*fac(n-1); int main() int n,i,m; double s=0; cin>>n; for(i=1;i<=n;i+) cin>>m; fac(m); s+=fac(m); cout<<s/n<<endl; return 0;函数06:小牛问题编程求解问题。若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多少头母牛。(用递归函数方法求解)输入7 输出6#include<iostream>using namespace std;int f(in

8、t n) if(n<4) return 1; else return f(n-1)+f(n-3);int main() int n; cin>>n; cout<<f(n)<<endl; return 0;函数07:最大公约数输入n对整数,计算这n对整数最大公约数之和。其中计算一对整数的最大公约数用函数实现。输入格式:第一个为对数n,后续为n对整数。输入3 14 18 20 30 25 35 输出17#include<iostream>using namespace std;int f(int a,int b) int i; for(i=a;

9、i>=1;i-) if(a%i=0&&b%i=0) break; return i; int main() int a,b,n,i,s=0; cin>>n; for(i=1;i<=n;i+) cin>>a>>b; s+=f(a,b); cout<<s<<endl; return 0;函数08:幂函数设计一个递归函数,求x的n次幂,其中n为非负整数。在main函数中输入x和一个整数n,输出x的n次幂。输入3.5 4 输出150.062#include<iostream>using namespac

10、e std;double f(double x,int n) if(n=0) return 1; else return x*f(x,n-1);int main() double x; int n; cin>>x>>n; cout<<f(x,n)<<endl; return 0;函数09:幂函数定义运算nk表示n的k次幂,从键盘输入整数n和k,计算1k+2k+nk,其中求nk用函数实现。输入3 5输出276#include<iostream>using namespace std;int f(int x,int n) if(n=0)

11、return 1; else return x*f(x,n-1);int main() int n,k,i,s=0; cin>>n>>k; for(i=1;i<=n;i+) s+=f(i,k); cout<<s<<endl; return 0;函数10:素数求和输入两个正整数min、max,计算min,max之间所有的素数之和。将判断一个整数是否为素数用函数实现。输入2 10输出17函数11:最小公倍数之和输入n对整数,计算这n对整数最小公倍数之和。其中计算一对整数的最小公倍数用函数实现。输入格式:第一个为对数n,后续为n对整数。输入2 3

12、 5 4 8输出23函数12:逆序求和从键盘输入一组整数(以0结束),计算这组整数逆序后之和。其中将一个整数逆序用函数实现,整数123逆序为321、整数-345逆序为-543。输入234 894 -94 736 0输出1518函数13:数位计算输入一组正整数(以0结束),输出其中数位之和为奇数的整数。其中求一个数的数位之和用函数实现。输入12 22 45 88 0输出12 45函数14:数值计算输入2个正整数a和n,求a+aa+aaa+aaa(n个a)之和。例如,输入2和3,则计算2+22+222,输出246。将求i个a组成的数用函数实现,即函数int f(int a,int i)的返回值为i

13、个a的值,例如f(3,2)值为33。输入 2 3输出246函数15:累加和编写一个函数f(n)=1+2+.+n。main函数从键盘输入m、n,利用该函数计算并输出f(m)+f(n)。输入10 5输出70函数16:利用函数计算平均值编写一个函数f(x),若x>0函数返回值为1,若x<0函数返回值为-1,若x=0函数返回值为0,利用该函数实现计算输入的n个整数中正整数的平均值。输入格式中第一个为整数个数n,后续为n个整数。输入5 2 5 -5 3 -3输出3.33333函数17:数根问题递归求解输入n个正整数(输入格式中第一个为整数个数n,后续为n个整数),输出各个数的数根。要求计算一

14、个数的数根部分利用递归函数实现。数根的定义:对于一个正整数n,我们将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根。例如:考虑24,2+4=6,6就是24的数根。考虑39,3+9=12,1+2=3,3就是39的数根。样例输入5 23 424 98 632 12345样例输出5 1 8 2 6函数18:奇数判断题目描述输入若干个正整数(输入时以0结束),输出其中所有的奇数及奇数个数。要求判断一个数num的奇偶写成函数bool isodd(num),奇数返回true,否则返回false。样例输入23 4 235 3 52 30 19 11 0样例输出23 235 3 19 11 5函数19:利用一个自定义函数解决完数和素数问题题目描述编写一个函数求一个数的所有因子之和。主函数中输入两个整数m、n,利用该函数依次实现下列问题:1)找出n以内所有完数; 2)找出mn间所有素数 提示:完数定义为除自身外的所有因子之和等于它本身的数;素数定义为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论