求解一元二次方程的根

img


这一步是哪里出现问题了?怎么也找不出来,想问一下大家,谢谢了

sqrt应用需要加#include <math.h>

你导入了sqrt()函数的头文件 math.h没有?修改如下:
参考链接:
解一元二次方程的方法总结
一元二次方程20道典型例题,附详细解答过程
C 语言实例 – 一元二次方程 | 菜鸟教程


#include <stdio.h>
#include <math.h>

int main(void){
    
    int a,b,c;
    double delt;
    double x1,x2;
    
    //https://baijiahao.baidu.com/s?id=1677729295812998701&wfr=spider&for=pc
    scanf("%d%d%d",&a,&b,&c);
    
    
    
    delt = double(b*b-4*a*c);
    
//    printf("a=%d,b=%d,c=%d,delt=%f\n",a,b,c,delt);
    
    if(delt<0){
        printf("No"); 
    }else if(delt>0){
        x1=(-b+sqrt(delt))/(2*a);
        x2=(-b-sqrt(delt))/(2*a);
        
        if(x1>x2){
            printf("%f\n%f\n",x1,x2);
        }else {
            printf("%f\n%f\n",x2,x1) ;
        }
    }else if(delt==0){
        //https://baijiahao.baidu.com/s?id=1722370687157957463&wfr=spider&for=pc
        x1=double(-b/(2*a));
        printf("%f",x1);
    }
    
    return 0;
} 

img

一方面要#include <math.h>
另一方面38行应该是else if(delt == 0),否则当delt为0时,程序不能输出正确的结果

这篇文章:计算一元二次方程的根 也许有你想要的答案,你可以看看