我寫了這段代碼。我認爲這是對的,但是當我運行它時,我會得到一個不好的結果。此代碼用於計算歐拉數。我會感謝你的回答。C計算精度低於預期的歐拉數
,我期待的結果約等於2.718281828459045,我得到的結果2.718281745910644:
- 2.718281828459045(預期)
- 2.718281745910644(實際)
代碼:
#include <stdio.h>
main() {
int factor, counter, n = 1;
float total = 0, division;
while (n <= 20) {
counter = 1;
factor = n;
while (counter < n) {
factor *= (n - counter);
counter++;
}
division = 1.0/factor;
total = total + division;
n++;
}
total = total + 1;
printf("La constante matematica e vale aproximadamente: %.20f\n", total);
return 0;
} /* Finaliza funcion main */
你期待什麼結果,並沒有你會得到什麼結果呢? – geoffspear
另外,請儘量使用英文變量名稱。 – DrummerB
啊,是的,「壞結果」的錯誤信息。你有沒有仔細撣過經紗遏制領域? – 2012-12-14 19:38:33