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;
}printf("1+2!+3!+…+20!=%d",sum);
}擴充套件資料: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語言計算為什麼結果不對,c語言計算結果不對 哪裡有問題?
在double轉換成int時,應當考慮到數值並不準確的問題,可以考慮自己要求的精度極限,比如是0.00000001,可以寫成 printf d n int a pow 10,b 1 0.000000005 這樣可以配合取整實現在那位上的四捨五入。 gta小雞 計算整數的冪,不要使用pow函式,它返回...
急c語言階乘問題 求一到一百的階乘和 用while或w
include include include include using namespace std const int maxn 510 char re maxn struct big void read void print big operator big a big operator bi...
C語言求1到10的階乘的和
帥傅香漢戌 程式輸出結果是對的,但是,getch 這句給改一下,getchar 就對了啊,但是我不知道你加這個是說明意思,完全沒有必要的啊。可用不要這句就是的啊。程式就是對的了。輸出結果也是對的。為了驗證,你可以把10改為4,一個小的資料,然後運算驗證一下就可以了。 福清竹普鶯 你試試把for後的兩...