--- tags: DICE C --- 21-8 一元二次方程式 === > [name=CHAWTeam] 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) 題目 --- ```! 寫一個程式,重複輸入a、b、c 3個整數,直到輸入的3個整數皆為0為止。 當遇到「0 0 0」時,輸出「Game Over!!」。 解ax^2+bx+c=0的實數解, 若為兩相同實數,只需要輸出一解; 若為兩不同實數,請輸出兩解; 若無實數解,請輸出「無實數解!!」字樣。 輸入範例: 4 4 1 1 0 -9 1 1 2 0 0 0 輸出範例: -0.500000 3.000000 -3.000000 無實數解!! Game Over!! ``` 程式碼 --- ```c= #include <stdio.h> #include <math.h> int main() { float a, b, c, discriminant; scanf("%f %f %f", &a, &b, &c); while (a != 0 || b != 0 || c!= 0) { discriminant = b * b - 4 * a * c; if (discriminant == 0) { printf("%f\n", - b / 2 / a); } else if (discriminant > 0) { printf("%f %f\n", (- b + sqrt(b * b - 4 * a * c)) / 2 / a, (- b - sqrt(b * b - 4 * a * c)) / 2 / a); } else { printf("無實數解!!\n"); } scanf("%f %f %f", &a, &b, &c); } if (a == 0 && b == 0 && c == 0) printf("Game Over!!\n"); return 0; } ``` 執行 --- ### 輸入 ```! 4 4 1 1 0 -9 1 1 2 0 0 0 ``` ### 輸出 ```! -0.500000 3.000000 -3.000000 無實數解!! Game Over!! ``` --- [查看我們在HackMD上的所有筆記](/@CHAWTeam) 目錄:[DICE C語言程式破解](/@CHAWTeam/DiceC) --- {%hackmd Iiu5mOixR7yWkPHKCkabBg %} <iframe class="LikeCoin" height="235" src="https://button.like.co/in/embed/chawteam/button?referrer=https://hackmd.io/@CHAWTeam/DiceC-21-8" width="100%"></iframe> --- {%hackmd i1nMRrZcTFmTvoF897K9zg %}
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up