本題要求實現乙個列印非負整數階乘的函式。
函式介面定義:
void print_factorial ( const int n );
其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n!的值,否則列印「invalid input」。
也就是說階乘結果大於int範圍該如何計算階乘。
解題思路:
模擬現實中計算乘法的豎式。
#include
void
print_factorial
(const
int n)
;int
main()
/* 你的**將被嵌在這裡 */
void
print_factorial
(const
int n)
;//利用數值存放,個位在前,高位在後
int size =0;
//陣列大小
int temp;
//臨時存放各位乘積得出的值
int bit=0;
//存放進製
int i, j;
a[0]=
1;//初始值為1, 若為0則乘任何值都是零
if(n <0)
printf
("invalid input");
else
while
(bit)
}for
(i = size; i >=
0; i--)}
}
階乘計算公升級版
本題要求實現乙個列印非負整數階乘的函式。void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input 1000的階乘結果是乙個接近3000位的數字,用程式語言...
4 10 階乘計算公升級版
本題要求實現乙個列印非負整數階乘的函式。函式介面定義 void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input 裁判測試程式樣例 include void...
4 10 階乘計算公升級版
本題要求實現乙個列印非負整數階乘的函式。void print factorial const int n 其中n是使用者傳入的引數,其值不超過1000。如果n是非負整數,則該函式必須在一行中列印出n 的值,否則列印 invalid input include void print factorial...