其他分享
首页 > 其他分享> > C语言:一元二次方程求解

C语言:一元二次方程求解

作者:互联网

题目:对于一元二次方程ax^{2}+bx+c=0,判断有无实根,若有,则输出实根。(a,b,c由键盘输入)。

分析:1、键盘键入a、b、c;

           2、求delta = b^{2} - 4ac的值;

           3、判断与0的大小关系。若delta>0,则有两个不同的实根,带入求根公式,得到实根为x1 = \frac{(-b + \sqrt{delta}) }{2a},x2 =  \frac{(-b - \sqrt{delta})}{2a};若delta=0,则有两个相同的实根,则根为x1 = x2 = \frac{-b}{2a};若delta<0,则无实根;

代码:

#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c;
    printf("请输入a,b,c的值\n");
    scanf("%d%d%d",&a,&b,&c);
    double delta,x1,x2;
    delta = b*b - 4*a*c;
    if (delta > 0){
        x1 = (-b + sqrt(delta)) / (2*a);
        x2 = (-b - sqrt(delta)) / (2*a);
        printf("方程有两个不相同的实根x1=%f,x2=%f\n",x1,x2);
    }else if(delta == 0){
        x1 = -b / (2*a);
        x2 = x1;
        printf("方程有两个相同的实根x1=x2=%f\n",x1);
    }else{
        printf("无实根\n");
    }
    return 0;
}

标签:实根,求解,printf,C语言,一元二次方程,delta,x2,x1
来源: https://blog.csdn.net/qq_51377378/article/details/122125166