二次方程式の解き方
初心者です。自力で解こうとしましたが、どうしてもわからないので質問させていただきます。
問題
2次方程式ax^2+bx+c=0 (ただし aは0でない)の解を求めよ。ただし、a,b,c(実数)はキーボードから入力し、判別式d=b*b-4*a*cが正か0か負かについて処理せよ。
虚数解についてですが、2+3iや4+2iのようなかんじで答えを出さなければいけないそうです。
次に、私が途中まで作ったプログラミングです。
#include<stdio.h>
#include<math.h>
int main(void)
{
double a,b,c,x1,x2,i;
printf("ax^2+bx+c=0のa b cを入力してください >>>");
scanf("%lf %lf %lf", &a,&b,&c);
if(a==0)
{
if(b==0.0)
{
printf("係数がおかしい。\n");
}
else
{
x=-c/b;
printf("解は、%gです。\n", x1);
}
}
else
{
D=b*b-4*a*c;
if(D>=0.0)
{
printf("解は重解となり%gです。\n", x1);
}
else
{
printf("解は%gと%gです。\n", x1,x2);
}
}
else
{
ここまで出来ました。一応、実数解と重解の部分のプログラミングは正解しているようです。この次の部分、つまり、虚数解を求める部分のプログラミングが出来ません。よろしくお願いします。
お礼
早速の回答ありがとう御座います。 x軸上→極 (pole) ではなくて零点 (zero)ですね。