递归简单练习
1.递归输出5次hello。
include<stdio.h>
void fun(int i)
{
if(i==0)
{
return;
}else
{
printf("hello\n");
fun(i-1);
}
}
int main()
{
int i=5;
fun(i);
return 0;
}
2.递归计算0——n的和。
#include<stdio.h>
int sum(int i)
{
if(i==0)
{
return i;
}else
{
return i+sum(i-1);
}
}
int main()
{
int i=5;
printf("%d\n",sum(i));
return 0;
}
3.递归计算n!
#include<stdio.h>
int fun(int n)
{
if(n==1)
{
return n;
}else
{
return n*fun(n-1);
}
}
int main()
{
int n=0;
scanf("%d",&n);
printf("%d!=%d\n",n,fun(n));
return 0;
}
4.递归计算各个位数字之和。
#include<stdio.h>
int fun(int n)
{
if(n/10==0)
{
return n;
}else
{
return n%10+fun(n/10);
}
}
int main()
{
int n=0;
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}