例题1:
#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! 使用递归函数完成
#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
#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%10;
}
例题4:求斐波那契数列的前十项,使用递归函数完成。
#include<stdio.h>
int main(){
int fun(int n);
for(int i=1;i<=10;i++){
printf("%d\n",fun(i));
}
return 0;
}
int fun(int n){
if(n==1||n==2)
return 1;
else
return fun(n-1)+fun(n-2);
}