函数嵌套
在一个用户函数的函数体中,出现对另外用户函数的调用。如函数a调用函数b,函数b又调用函数c。
例:定义输出"*"三角形图案的函数,并在自主函数中调用该函数输出一个5行 的"*"三角形图案。
其中,每行"*"字符串的输出也要通过用户函数实现。
定义在一行上连续输出n个“*”字符的函数pStar(),
原型:void pStar(int n)
定义输出m行"*"三角星团的函数pMRStar(),在其中调用pMRStar()函数实现每一行图案的输出。
原型:void pMRStar(int m)
主函数main()中调用pMRStar(),输出5行的"*"三角形图案
#include<stdio.h>
void pStar(int n)
{
int i;
for(i=1;i<=n;i++)
putchar('*');
}
void PMRstar(int m){
int i;
for(i=1;i<=m;i++)
{
pStar(i);
putchar('\n');
}
}
int main(){
PMRstar(5);
}
递归函数
在定义一个函数的过程中直接或间接地调用了被定的函数本身。
公式递归问题
能够使用一个递归公式描述的问题可归类为公式递归问题。公式递归问题实现起来比较容易,只要给出了递归公式,就能直观地描写递归函数。求解公式递归问题的步骤。
-
用递归公式描述问题
-
将递归公式函数化