C言語で二次方程式 ax² + bx + c = 0 の解を求めるプログラムを作成する方法を解説します。この問題では、与えられた係数a, b, cに対して、解が2つ、1つ、または存在しない場合に応じて適切な結果を表示することが求められます。
1. 二次方程式の解の公式について
二次方程式 ax² + bx + c = 0 の解は、解の公式を使って求めることができます。解の公式は次のように表されます。
x = (-b ± √(b² – 4ac)) / 2a
この公式では、判別式(b² – 4ac)の値によって解の個数が決まります。
2. 判別式の意味とその判定方法
判別式 Δ = b² – 4ac の値に応じて解の個数が決まります。
- Δ > 0 の場合:2つの実数解がある。
- Δ = 0 の場合:1つの実数解がある。
- Δ < 0 の場合:解なし(虚数解)
この判別式を用いて、解の個数を決定し、それに応じた処理を行うことができます。
3. C言語プログラムの実装
次に、C言語で二次方程式を解くプログラムを実装します。以下のコードでは、ユーザーから係数a, b, cを入力して、解を求め、結果を表示します。
#include
#include
void main() {
float a, b, c, discriminant, x1, x2;
printf("係数a, b, cを入力してください: ");
scanf("%f %f %f", &a, &b, &c);
discriminant = b*b - 4*a*c;
if (discriminant > 0) {
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
printf("解は2つです: x1 = %.2f, x2 = %.2f\n", x1, x2);
} else if (discriminant == 0) {
x1 = -b / (2*a);
printf("解は1つです: x = %.2f\n", x1);
} else {
printf("解なし\n");
}
}
4. プログラムの説明
このプログラムでは、まずユーザーからa, b, cの値を入力させ、判別式を計算します。判別式の値に基づいて、解が2つ、1つ、または解なしであるかを判定し、それに応じた結果を表示します。
特に重要なのは、判別式を用いた条件分岐で、解の個数を判断する部分です。sqrt関数を使用して平方根を計算し、解を求めています。
5. まとめ
このプログラムを使えば、C言語で簡単に二次方程式の解を求めることができます。判別式を活用して解の数を判定し、適切な結果を表示する方法を学ぶことができました。このような基本的な数学的処理をC言語で行うことで、プログラミングスキルを向上させることができます。


コメント