📄 factor.c
字号:
/*
file name : factor.c
Description : 利用递归函数调用计算N 阶乘
ex : n = 3 时,递归函数执行如下 :
if ( n == 1)
return (1);
else
return( 3* Factorial(3-1) );
→
return( 2* Factorial(2-1) );
→
return(1) ;
*/
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
/* 函数原型宣告 */
long Factorial(long);
void main()
{
char ch;
long n;
printf("-----Factorial counting Using Recursive----");
do
{
printf("\nEnter a number( 0<=n<=12 ) to count n!: ");
scanf("%ld",&n);
/* n 值在一般系统中超过13会产生overflow 得到不正确的值*/
if ( n < 0 || n >12 )
printf("input out of range !\n");
else
printf("%ld! = %ld\n",n,Factorial(n) );
printf("Continue (y/n) ? ");
ch = toupper(getche());
} while (ch == 'Y' );
}
/* 利用递归调用自己计算N 阶乘*/
long Factorial(long n)
{
if ( n == 1 || n== 0)
return (1);
else
return( n * Factorial(n-1));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -