輸入 `1.0 5.0 4.0` 判斷式 `b*b-4ac` 計算錯誤,顯示無解。
double a, b, c;
printf("請輸入 a b c: ");
if (scanf("%lf %lf %lf", &a, &b, &c) != 3) {
printf("輸入格式錯誤\n");
return 1;
}
// 調試:打印讀取值
printf("讀取到: a=%.2f, b=%.2f, c=%.2f\n", a, b, c);
double delta = b*b - 4*a*c;
if (delta < 0) {
printf("無實數根\n");
} else if (delta == 0) {
printf("兩個相等實根: x = %.2f\n", -b/(2*a));
} else {
printf("兩個不等實根: x1 = %.2f, x2 = %.2f\n",
(-b + sqrt(delta))/(2*a), (-b - sqrt(delta))/(2*a));
}
**讀取後立即打印變量值**,90% 的「邏輯錯誤」其實是輸入環節出問題。