2021-4-13C语言基础(10)--递归(system(pause))

1:递归写的斐波那契数列

//递归写的斐波那契数列
#include<stdio.h>
#include<stdlib.h>//使用system(pause)时必须调用这个头文件
int fibonacci(int n)
{if(n<=2)
	{
	return 1;
	}
	else
	{
	return fibonacci(n-1)+fibonacci(n-2);
	}
}

main()
{int n,m;
printf("请输入你想要的斐波那契数列的第几个数字:\n");
scanf("%d",&n);
m=fibonacci(n);
printf("第%d个斐波那契数为%d\n",n,m);
system("pause");
}

//普通的斐波那契数列

#include<stdio.h>
main()
{
int a=1,b=1,c,i,n;
printf("你想斐波那契数列的第几个数:");
scanf("%d",&n);
if(n<=2)
	c=1;
else
	{for(i=3;i<=n;i++)
		{
		c=a+b;
		a=b;
		b=c;
		}
printf("斐波那契数列的第%d个数为%d\n",n,c);
	}
}

2:

#include<stdio.h>
int main()
{
int a,b;
printf("请输入两个整数:");
scanf("%d,%d",&a,&b);
printf("最大公约数是%d",maxys(a,b));
return 0;
}

int maxys(int a,int b)
{
if(a==b)
	return a;
else if(a>b) 
	maxys(a-b,b);
else 
	maxys(a,b-a);
}

3:
利用递归做的阶乘

#include<stdio.h>
int jc(int n)
{
if(n==1)
	return 1;
else
	return jc(n-1)*n;
}
main()
{
int n,i;
printf("你想求几的阶乘:");
scanf("%d",&n);
i=jc(n);
printf("%d",i);
}

4:
//利用递归方法打印输入数的每一位

#include<stdio.h>
int every(int number)
{
	if(number>9)
		{every(number/10);}

	printf("%2d",number%10);
}

int main() 
{
	int number;
	printf("输入一个数字:\n");
	scanf("%d",&number);
	every(number);
	printf("\n");
	return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值