π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - ...
用戶代碼輸出 4,原因:整數除法 1/3 結果為 0,級數首項后全為 0,pi=0,乘 4 仍為 0?實際可能因未初始化變量導致輸出 4。關鍵問題:**必須使用浮點數運算**。
#include <stdio.h>
#include <math.h>
int main() {
double pi = 0.0;
double term = 1.0;
int sign = 1;
int denominator = 1;
// 迭代直到項的絕對值小于 1e-7(保證小數點后 6 位穩定)
while (fabs(term) > 1e-7) {
term = sign * 1.0 / denominator;
pi += term;
sign = -sign;
denominator += 2;
}
pi *= 4;
printf("pi = %.10f\n", pi); // 3.1415926536
return 0;
}
double,字面量 1.0 強制浮點除法。1e-7)。