C++嵌套调用与递归函数详解及示例.pdfVIP

  • 0
  • 0
  • 约1.85千字
  • 约 3页
  • 2026-02-12 发布于北京
  • 举报

6.4函数嵌套与递归调用

1.嵌套。嵌套的解释:函数不能嵌套定义,但可以在一个函数的定义中出现对另一个函数的调

用。称为函数的嵌套调用。即在被调函数中又调用其它函数。

嵌套调用举例:

voidpartEven(intnumber)

{

inti;

for(i=2;inumber/2;i++)

if(prime(i)prime(number-i))(此函数中出现对函数prime的调用)

{

coutnumber=i+number-iendl;

return;

}

}

#includeiostream

usingnamespacestd;

intprime(intnumber)

{

inti;

for(i=2;inumber;i++)

if(number%i0)return0;

return1;

}intmain()

{

intnum;

cout输入足够大的偶数;

cinnum;

partEven(num);

return0;

}

2.递归调用

函数直接或间接调用自身称为函数的递归调用。

递归的思想是分解。把一个复杂的问题使用同一个策略将其分解为较简单的问题,如果

这个的问题仍然不能解决则再次分解,直到问题能被直接处理为止。

递归函数用来解决可以描述为递归的问题。

由此我们可以看出递归调用的使用特点;

原始问题可以转化为解决方法相同的新问题;

新问题的规模比原始问题小;

新问题又可转化为解决方法相同的规模更小的新问题,直至条件为止.

#includeiostream

usingnamespacestd;

doublefac(intn);

intmain()

{intm;doubley;

cinm;

y=fac(m);/*调用函数fac()*/

coutf;

}doublefac(intn)(函数定义)

{doublef;

if(n0)

{cout“错误”;f-1;}

elseif(n0||n1)f=1;

elsef=n*fac(n-1);/*递归调用自己*/

return(f);

}

文档评论(0)

1亿VIP精品文档

相关文档