#include
#include
int main(void) {
double a, b, c, delta, x1, x2;
printf("請輸入 a b c (空格分隔): ");
if (scanf("%lf %lf %lf", &a, &b, &c) != 3) return 1;
delta = b*b - 4*a*c;
if (delta >= 0) {
delta = sqrt(delta);
x1 = (-b + delta) / (2*a);
x2 = (-b - delta) / (2*a);
printf("x1 = %.4f, x2 = %.4f\n", x1, x2);
} else {
printf("無實根 (Δ = %.4f)\n", delta);
}
return 0;
}
double + %lf 保證精度。delta 先檢查非負再開根號,避免域錯誤。2*a 加括號,防止 /2*a 結合性錯誤。#include
int main(void) {
int score;
printf("請輸入分數 (0-100): ");
if (scanf("%d", &score) != 1 || score < 0 || score > 100) {
puts("輸入無效");
return 1;
}
switch (score / 10) {
case 10:
case 9: puts("優秀"); break;
case 8: puts("良好"); break;
case 7: puts("中等"); break;
case 6: puts("及格"); break;
default: puts("差");
}
return 0;
}
score/10 將 0-100 映射為 0-10,case 10/9 合併處理 90-100。公雞 5 元、母雞 3 元、3 隻雛雞 1 元。100 元買 100 隻。
#include
int main(void) {
// x: 公雞, y: 母雞, z: 雛雞(隻數)
// 5x + 3y + z/3 = 100
// x + y + z = 100
// 消去 z: 7x + 4y = 100 → x ≤ 14, y ≤ 25
for (int x = 0; x <= 14; x++) {
for (int y = 0; y <= 25; y++) {
if (7*x + 4*y == 100) {
int z = 100 - x - y;
printf("公雞:%d 母雞:%d 雛雞:%d\n", x, y, z);
}
}
}
return 0;
}
5x + 3y + z/3 = 100 (1) x + y + z = 100 (2)
15x + 9y + z = 300 - x - y - z = -100 ------------------- 14x + 8y = 200 → 7x + 4y = 100
x = (100 - 4y)/7,遍歷 y=0..25 即可,或直接遍歷 x=0..14。公雞:0 母雞:25 雛雞:75 公雞:4 母雞:18 雛雞:78 公雞:8 母雞:11 雛雞:81 公雞:12 母雞:4 雛雞:84
三題涵蓋數學建模、分支結構、循環優化,是 C 語言期末/等級考試高頻必會題型。