一元二次方程ax2+bx+c=0的解

 解一元二次方程ax2+bx+c=0的解。

输入
多组测试,每行输入三个实数a,b,c的值,a 不为0.

输出
输出两个根X1和X2,用空格隔开,具体格式为:

X1 X2

其中大的根先输出,即X1>=X2。
结果保留两位小数。

如果没有实根,输出“NO”

样例输入(所给的几个样例虽然都是整数,但没有其他所有说输入一定都是整数)
1 5 -2
1 1 2
1 -2 1
样例输出
0.37 -5.37
NO
1.00 1.00
提示
该题有多组测试数据


#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <ctype.h>
//主函数main
int main()
{

    float a, b, c;
    while (scanf("%f %f %f", &a, &b, &c) != EOF)
    {
        float delta = b * b - 4 * a * c;
        float x1, x2;
        if (delta >= 0)
        {
            x1 = (-b + sqrt(delta)) / (2 * a);
            x2 = (-b - sqrt(delta)) / (2 * a);
            printf("%.2f %.2f\n", x1, x2);
        }
        else
        {
            printf("NO\n");//NO不是No
        }
    }

    return 0;
}
posted @ 2022-10-19 22:02  xuchaoxin1375  阅读(52)  评论(0)    收藏  举报  来源