
| 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;
}
| 目次 |