知识点:
分支控制:分支控制
测试用例:4 0 0,
-0的解决方案:结果+0即可;
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
double delta;
double x1, x2;
double real, imag;
while (scanf("%lf %lf %lf", &a, &b, &c) != EOF) {
if (a == 0.0) {
printf("Not quadratic equation\n");
} else {
delta = b * b - 4 * a * c;
if (delta == 0) {
x1 = x2 = (-b) / (2.0 * a) + 0;
printf("x1=x2=%.2f\n", x1);
} else if (delta > 0) {
x1 = ((-b) - sqrt(delta)) / (2 * a);
x2 = ((-b) + sqrt(delta)) / (2 * a);
printf("x1=%.2f;x2=%.2f\n", x1, x2);
} else {
real = (-b) / (2 * a);
imag = (sqrt(-delta)) / (2 * a);
printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", real, imag, real, imag);
}
}
}
}



京公网安备 11010502036488号