A. a は正である | D. b は正である | G. c は正である | J. D は正である |
B. a は0である | E. b は0である | H. c は0である | K. D は0である |
C. a は負である | F. b は負である | I. c は負である | L. D は負である |
/***************************/ /* 二次方程式を解く */ /* coded by Y.Suganuma */ /***************************/ #include <stdio.h> #include <math.h> int main() { double a, b, c, D, x1, x2; // データの入力 printf("a, b, c の値を入力してください "); scanf("%lf %lf %lf", &a, &b, &c); // 二次方程式ではない if (a == 0) { if (b == 0) printf("計算できません\n"); else { x1 = -c / b; printf("x = %f\n", x1); } } // 二次方程式である else { D = b * b - 4.0 * a * c; // 虚根 if (D < 0.0) { D = sqrt(-D); x1 = -b / (2.0 * a); x2 = D / (2.0 * a); printf("%f ± i %f\n", x1, x2); } else { D = sqrt(D); // 実根 if (D > 0.0) { x1 = (-b + D) / (2.0 * a); x2 = (-b - D) / (2.0 * a); printf("%f %f\n", x1, x2); } // 重根 else { x1 = -b / (2.0 * a); printf("重根 %f\n", x1); } } } return 0; }
目次 |