1. 程式人生 > >NO.19 ---- C語言入門練習15

NO.19 ---- C語言入門練習15

// 遞迴和非遞迴分別實現求n的階乘
// 分析:n!=n*n(n-1)!

// 遞迴法:

int factorial(int n)
{
if (n == 1)
	return 1;
return  n*factorial(n - 1);

}

// 非遞迴法:

int factorial(int n)
{
int i;
int ret =1 ;

for (i = 1; i <= n; i++)
{
	ret = ret *i;
	
}

return ret;
}

//主函式

int main()
{	
int n;
printf("請問你想求幾的階乘:");
scanf("%d", &n);

printf("%d的階乘為:%d \n", n, factorial(n));
system("pause");
return 0;
}

執行結果:
在這裡插入圖片描述