#include #include int main() { double a,b,c,D,D1,x1,x2,x; /* 二次方程式における定数 */ printf("二次方程式 ax^2 + bx + c におけるaを入力してください。\n"); scanf("%lf", &a); printf("二次方程式 ax^2 + bx + c におけるbを入力してください。\n"); scanf("%lf", &b); printf("二次方程式 ax^2 + bx + c におけるcを入力してください。\n"); scanf("%lf", &c); /* 判別式D */ D = b*b - 4*a*c; /* 判別式Dの平方根をD1とする */ D1 = sqrt(D); /* 判別式Dによる条件分岐 */ if (D > 0){ /* 1つめの解 x1 */ x1 = (-1*b + D1) / 2*a; /* 2つめの解 x2 */ x2 = (-1*b - D1) / 2*a; /* 解を出力する */ printf("解は %lf, %lf\n", x1,x2); } else if(D == 0){ /* 重解 x */ x = (-1*b) / 2*a; /* 解を出力する */ printf("解は%lf\n", x); } else{ /* 虚数解(虚数単位iはprintfで後付け) */ x1 = (-1*b + D1) / 2*a; x2 = (-1*b - D1) / 2*a; /* 解を出力する */ printf("解は%lfi, %lfi\n", x1,x2); } return 0; }