函数续集---递归
作者:互联网
函数续集---递归
1、函数作为表达式调用
#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
int main(){
int sum;
sum=Add(100,200);//函数作为表达式调用
printf("%d\n",sum);
}
2、函数作为语句调用
#include <stdio.h>
int Add()
{
printf("老龙很帅!!!")
}
int main()
{
printf("%d\n",Add());
}
3、函数作为实参使用
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int _Myrand()
{
srand((unsigned int)time(NULL));
return rand%5;//0-4之间的随机数;
}
int main()
{
int arr[5]={10,20,30,40,50};
printf("%d\n",arr[_Myrand()]);
}
4、函数之间的嵌套调用
#include <stdio.h>
void func1(int data)
{
printf("data=%d\n",data);
}
void func2(int data)
{
func1(data-1);
printf("data=%d\n",data);
}
int main()
{
func2(10);
return 0;
}
5、递归调用
函数的递归:函数可以调用自己
特点:一定有一个终止条件
#include <stdio.h>
int func(int data)
{
if(data==1)
{
return 1;
}
else
{
return data+func(data-1);
}
}
int main()
{
func();
return 0;
}
6、兔子数列
#include "stdafx.h"
#include <stdio.h>
int f(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return f(n - 1) + f(n - 2);
}
}
int main() {
printf("%d\n", f(11));
while (1);
return 0;
}
7、汉诺塔程序
#include "stdafx.h"
#include <stdio.h>
void hnt(int n, char a, char b, char c)
{
if (n == 1)
printf("%c--->%c\n", a, c);
else
{
hnt(n - 1, a, c, b);
printf("%d:%c--->%c\n", n,a, c);
hnt(n - 1, b, a, c);
}
}
int main() {
hnt(7, 'a', 'b', 'c');
return 0;
}
标签:main,续集,return,递归,int,---,printf,include,data 来源: https://www.cnblogs.com/ruf666/p/13819951.html