1.递归循环5次hello
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void fun(int i)
{
if(i==0)
return;
else
{
printf("hello\n");
fun(i-1);
}
}
int main(int argc, const char *argv[])
{
int i=5;
fun(i);
return 0;
}
2.递归计算0-n的和
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int fun(int n)
{
if(n==0)
return 0;
else
return n+fun(n-1);
}
int main(int argc, const char *argv[])
{
int n;
printf("please enter n:");
scanf("%d",&n);
printf("sum=%d\n",fun(n));
return 0;
}
3.递归计算n!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int fun(int n)
{
if(n==0)
return 1;
else
return n*fun(n-1);
}
int main(int argc, const char *argv[])
{
int n;
printf("please enter n:");
scanf("%d",&n);
printf("%d!=%d\n",n,fun(n));
return 0;
}
4递归计算各个数字之和
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int fun(int n)
{
if(n==0)
return 0;
else
return n%10+fun(n/10);
}
int main(int argc, const char *argv[])
{
int n;
printf("please enter n:");
scanf("%d",&n);
printf("各个数字之和为%d\n",fun(n));
return 0;
}