c語言計算20的階乘結果要用什麼資料型別

時間 2021-08-30 10:36:08

1樓:匿名使用者

使用 unsigned long long 型別絕對的夠了,下圖是最後的運算結果:

unsigned long long 型別是c語言裡面目前精度最高的資料型別,

double或者long double 雖然也佔有8個位元組,但是他們的實際精度只有53位,

而 unsigned long long 卻有64位的精度,

具體的話,可以看我的帖子:

2樓:百文e見

int型別一般是4個位元組,能表示的範圍是-65536到65535,顯然int型別不合適

unsigned int也是4位元組,可以表示4.29×10的9次方左右,而20階乘數量級為2.43×10的18次方左右,所以也不合適

long int有8個位元組,表示範圍從-4294967296到4294967295,也不行

unsigned long有8位元組,表示0到1.8×10的19次方,可以使用

3樓:匿名使用者

c99標準有long long ,原來的可以用double

4樓:

用整型 int float double 這些啊

5樓:無盡的殤飭

int ,double都可以

用c語言程式設計,求從1的階乘一直加到20的階乘。 5

6樓:飛喵某

1、首先開啟c語言編bai輯器,新du

建一個c語言的檔案zhi,匯入頭dao檔案並設定一個主函式版:

2、程式中設定一個權迴圈的臨時變數和接受階乘和的sum變數,迴圈中先遍歷出20以內的數字子,然後計算每個數的階乘,在將它們相加起來,因為是一個非常大的數,所以這裡sum是double型別的,最後把結果輸出就可以了:

3、最後除錯編譯程式,就會看到輸出的20階乘內的和了,是一個非常大的數。以上就是用c語言求20以內階乘和的方法:

7樓:匿名使用者

czx99201的程式不好。重

bai復計算。

階乘du

不必zhi每次都計算。而且為什麼dao要用浮點?專我的屬程式如下:

main ()

printf ("%ld\n", sum);

8樓:愛是一生的語病

#include

main()

printf("ss=%lld",ss);

}輸出ss=2561327494111820313這才是正確答回案答

9樓:育知同創教育

抄#include

baivoid main()

printf("%e\n",sum);

}先求du出第n項階乘,zhi然後把前n-1項階乘的dao和加上第n項。

10樓:匿名使用者

#include

void main()

printf("%e\n",sum);}

用c語言程式設計求出1!+2!+3!+……+20!的值

11樓:啦啦啦額

以下是用c語言程式設計求出1!+2!+3!+……+20!的值示例**

#include

int main()

sum=sum+k;

}擴充套件資料:62616964757a686964616fe78988e69d8331333431366334

c語言的特有特點c語言普適性最強的一種計算機程式編輯語言,它不僅可以發揮出高階程式語言的功用,還具有組合語言的優點,因此相對於其它程式語言,它具有自己獨特的特點。具體體現在以下三個方面:

1、廣泛性。c 語言的運算範圍的大小直接決定了其優劣性。c 語言中包含了34種運算子,因此運算範圍要超出許多其它語言,此外其運算結果的表達形式也十分豐富。

此外,c 語言包含了字元型、指標型等多種資料結構形式,因此,更為龐大的資料結構運算它也可以應付。

2、簡潔性。9 類控制語句和32個keywords是c語言所具有的基礎特性,使得其在計算機應用程式編寫中具有廣泛的適用性,不僅可以適用廣大程式設計人員的操作,提高其工作效率,同 時還能夠支援高階程式設計,避免了語言切換的繁瑣。

3、結構完善。c語言是一種結構化語言,它可以通過組建模組單位的形式實現模組化的應用程式,在系統描述方面具有顯著優勢,同時這一特性也使得它能夠適應多種不同的程式設計要求,且執行效率高。

12樓:

/****程式描述抄:求出1!+2!+3!+……+20!的值。

**演算法思路:先求出每一項的階乘值,然後將所有項的階乘值相加。

*/#include

#define n 20

typedef unsigned long long uint64;  //自定義型別

//求出每一項階乘值的函式

uint64 fact(int n)

int main()

13樓:何禹乾浩博

intmulti(int

n)int

f(int

n)int

main(int

argc,char

*argv)

14樓:藍巍智初晴

#include

void

main()

printf("s=%ld\n",s);}

15樓:邛奧虎蔚星

#include

void

main()

printf("s=%d",s);}

c語言計算十以內每個數的階乘的和結果遞迴呼叫時一直在加九的階乘急

額。你這個可能是 return sum i jc i 有問題。先會執行 i再執行sum i所以會少一個。好像與編譯器有關。我在vc 上執行沒問題,但是以前在linux上好像不行。 不妨把你的程式修改如下 include int i 1,sum 1 void main int jc int x 計算x...

C語言中可以用表示階乘麼,C語言中階乘用什麼符號表示啊

這是c語言的邏輯運算子 異或 這個 講的非常詳細,我摘抄了一些,詳細的你看以看看。有很例子,好懂!邏輯運算子把各個運算的變數 或常量 連線起來組成一個邏輯表示式。邏輯運算子有4個,它們分別是 邏輯非 邏輯或 邏輯與 異或 在位運算裡面還有 位與 位或 的運算。什麼是邏輯運算 邏輯運算用來判斷一件事情...

c語言計算為什麼結果不對,c語言計算結果不對 哪裡有問題?

在double轉換成int時,應當考慮到數值並不準確的問題,可以考慮自己要求的精度極限,比如是0.00000001,可以寫成 printf d n int a pow 10,b 1 0.000000005 這樣可以配合取整實現在那位上的四捨五入。 gta小雞 計算整數的冪,不要使用pow函式,它返回...