例题1:
代码语言:javascript复制#include<stdio.h>
int main(){
int fun(int n,int k);
printf("%d",fun(5,5));
return 0;
}
int fun(int n,int k){
if(k==0)
return 1;
else
return fun(n,k-1)*n;
}
例题2:求 5! 使用递归函数完成
代码语言:javascript复制#include<stdio.h>
int main(){
double fun(double n);
printf("%f",fun(5));
return 0;
}
double fun(double n){
if(n==1||n==0){
return 1;
}else{
return fun(n-1)*n;
}
}
例题3:输入一个整数,求这个整数每一位的和,使用递归函数。
例如:输入:1234,计算1 2 3 4=0
代码语言:javascript复制#include<stdio.h>
int main(){
int fun(int n);
printf("%d",fun(1234));
return 0;
}
int fun(int n){
if(n<=9)
return n;
else
return fun(n/10) n;
}
例题4:求斐波那契数列的前十项,使用递归函数完成。
代码语言:javascript复制#include<stdio.h>
int main(){
int fun(int n);
for(int i=1;i<=10;i ){
printf("%dn",fun(i));
}
return 0;
}
int fun(int n){
if(n==1||n==2)
return 1;
else
return fun(n-1) fun(n-2);
}