(C语言)解得ax2+bx+c=0方程的根。

题目要求解得ax2+bx+c=0方程的根。
由键盘输入a,b,c。假设a,b,c的值任意,并不保证b2-4ac≥0。
需要在程序中进行判别,如果b2-4ac≥0,就计算并输出方程的两个实根,
如果b2-4ac<0,就输出“此方程无实根”的信息。

#include <stdio.h>
#include <math.h>//程序中要调用求平方根函数sqrt
int main(int argc, char** argv) {
    int a,b,c,disc,x1,x2,y;    //disc是判别式sqrt(b*b-4ac)
    printf("输入a,b,c分别为:");
    scanf("%d,%d,%d",&a,&b,&c);
    printf("方程为:%dx2+%dx+%d=0(a不等于0)
",a,b,c);
    disc=pow(b,2)-4*a*c;
    if(disc>=0)
    {
        a=2*a;
        x1=(-b+sqrt(disc))/a;
        x2=(-b-sqrt(disc))/a;//求出方程的两个根
        if(x1==x2) {
            printf("方程的两个实根分别为:x1=x2=%d",x1);
        }
        else
        {
            printf("方程的两个实根分别为:x1=%d,x2=%d",x1,x2);
        };
    }
    else
    {
        printf("此方程无实根!");
    };
    return 0;
}

409c2b757f634d6e89deb1e2fe96f39a.jpg

6054cfad5f9c46e68d1b6afdd2724683.jpg