算法:(三)递归算法

算法:(三)递归算法,第1张

算法:(三)递归算法                                         三、递归算法

目录

算法思路

实例1.求阶乘

实例2.数制转换


算法思路

递归算法,就是一种直接或者间接地调用自身的算法。递归算法的具体实现过程 般通过函数或子过程来完成,在函数或子过程的内部,编写代码直接或者间接地调用自己,即可完成递归 *** 作。

实例1.求阶乘

解题方法

#define _CRT_SECURE_NO_WARNINGS
#include 
//阶乘
int fact(int n)
{
	if (n <= 1)
		return 0;
	else
		return n * fact(n - 1);
}

int main()
{
	int i;
	printf("请输入要求阶乘的一个整数:");
	scanf("%d", &i);
	printf("%d的阶乘结果为%dn", i, fact(i));
	return 0;
}

实例2.数制转换

 

#define _CRT_SECURE_NO_WARNINGS
#include 
#include 
void convto(char *s, int n, int b)
{
	char bit[] = { "0123456789ABCDEF" };//为了实现多种进制的转化
	int len;
	if (n == 0)
	{
		strcpy(s, "");
		return;
	}
	convto(s, n / b, b);
	len = strlen(s);
	s[len] = bit[n % b];
	s[len + 1] = '';
}
void main(void)
{
	char s[80];
	int old,base;
	printf("请输入十进制数:");
	scanf("%d", &old);
	printf("请输入转换的进制:");
	scanf("%d", &base);
	convto(s, old, base);
	printf("%sn", s);
	getchar()

}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5433655.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-11
下一篇2022-12-11

发表评论

登录后才能评论

评论列表(0条)

    保存