函数16道题(含问题详解) 下载本文

实用标准

函数01:素数

输入一组整数,其中第一个整数为个数n,后续为n个整数,输出其中素数的个数。要求将判断一个整数是否用函数实现。 输入3 5 7 9输出2 测试:

输入5 10 11 12 13 14输出2 #include 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>>m; d+=f(m);

}

cout<

函数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 using namespace std; int f(int a)

文案大全

实用标准

{

int s=0,i; cin>>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<

函数03:Fibonacci数列

输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。 要求定义并调用函数fib(n),它的功能是返回第n项Fibonacci数。 说明:Fibonacci 序列为1 1 2 3 5 8 13 21 ...... 输入5 21 输出8 13

#include 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

int main() { int m,n,i; cin>>m>>n;

for(i=1;i<=10000;i++) if(fib(i)>m&&fib(i)

文案大全

实用标准

cout<

函数04:最大值

从键盘输入n对整数,求这些对整数间所有奇数之和的最大值。其中计算两个整数m、n(m

#include 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>>n;

for(i=1;i<=n;i++) { cin>>a>>b; if(x

cout<

函数05:阶乘

编写一个递归函数fac,该函数计算n的阶乘,如5的阶乘为5x4x3x2x1,0的阶乘为1。main函数中输入n个整数,计算这些整数的阶乘平均值。 第一个整数位个数n,后续为n个整数。 输入3 3 4 5 输出50

#include using namespace std; int fac(int n) {

if(n==0||n==1) return 1;

文案大全