階乘計算公升級版

2021-10-14 16:25:35 字數 842 閱讀 8289

本題要求實現乙個列印非負整數階乘的函式。

函式介面定義:

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...