求方程的根,用三个函数分别求当b2−4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。
输入
a b c
输出
若b2−4ac=0,输出:x1=? x2=?
若b2−4ac=0,输出:x1=?+? x2=?-?
输入样例
4 1 1
输出样例
x1=-0.125+0.484i x2=-0.125-0.484i
#include <stdio.h>
#include<math.h>
void equ(int a, int b) {
double x1, x2;
x1 = -0.5 * b/ a;
x2 = x1;
printf("x1=%.3lf x2=%.3lf", x1, x2);
}
void more(int a, int b, int c) {
double x11,x12;
x11 = -0.5 * b / a;
x12 = (sqrt(b * b - 4 * a * c)) / (2 * a);
printf("x1=%.3lf+%.3lf x2=%.3lf-%.3lf", x11, x12, x11, x12);
}
void less(int a, int b, int c) {
double x11, x12;
x11 = -0.5 * b / a;
x12 = (sqrt(4 * a * c - b * b)) / (2 * a);
printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi", x11, x12, x11, x12);
}
int main()
{
int a, b, c,d;
scanf("%d %d %d", &a, &b, &c);
d = b * b - 4 * a * c;
if (d == 0) {
equ(a, b);
}
else if (d > 0) {
more(a, b, c);
}
else {
less(a, b, c);
}
return 0;
}