知识点:
分支控制:分支控制
测试用例: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); } } } }