- 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)