题解 | #小乐乐找最大数#
计算一元二次方程
http://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26
#include #include <math.h> #include using namespace std; int main() { double a, b, c, q; a = b = c = 0; while (scanf("%lf %lf %lf\n", &a, &b, &c) != EOF) { q = b * b - 4 * a * c; if (a == 0) { cout << "Not quadratic equation\n" << endl; } else { if (q > 0) printf("x1=%.2lf;x2=%.2lf\n", (-b - sqrt(q)) / (2.0 * a), (-b + sqrt(q)) / (2.0 * a)); else if (q < 0) printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n", (-b) / (2.0 * a),fabs(sqrt(-q) / (2.0 * a)), (-b) / (2.0 * a), fabs(sqrt(-q) / (2.0 * a)));//这个一处要注意当a是负数时,输出+-的问题,目前先到只有fabs函数,double类型的求绝对值函数 else printf("x1=x2=%.2lf\n", (-b) / (2.0 * a) + 0);//这一处要注意输出-0.00的问题,需要在后面加个才能输出0.00 } } }