12、数据结构笔记之十二栈的应用之栈与递归之阶乘实现
:“人生的价值,应当看他贡献什么,而不应当看他取得什么。”
本篇学习关于栈和递归的应用。
1. 阶乘
一个正整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,并且有0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿·卡曼引进这个表示法。
任何大于 1 的自然数n阶乘表示方法:
2. 阶段代码
源码如下所示:
#include"stdio.h"
main()
{ floatfac(int n);
intn;
floaty;
printf("请输入要求的数据的阶乘\n");
scanf("%d",&n);
y=fac(n);
printf("********************************\n");
printf("%d!=%.0f\n",n,y);
printf("********************************\n");
}
float fac(intn)
{
floatf;
if(n<0)
printf("error\n");
elseif(n==1||n==0)
f=1;
else
f=n*fac(n-1);
returnf;
}