作业帮 > 综合 > 作业

c语言:求二次函数ax^2+bx+c=0的根

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 07:16:37
c语言:求二次函数ax^2+bx+c=0的根
#includevoid main(){ float a,b,c,x1,x2,p,q,disc;\x05printf("input a,b,c\n");\x05scanf("a=%f,b=%f,c=%f",&a,&b,&c);\x05disc=b*b-4*a*c;\x05p=-b/(2*a);\x05q=sqrt(disc)/(2*a); x1=p+q;\x05x2=p-q;\x05printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);}输入1,2,3,后,得到的答案是x1=-0.5,x2=-0.5请问哪里出错了?
#include <stdio.h>
#include <math.h>
void main()
{    
    float a,b,c,x1,x2,p,q,disc;    
    printf("input a,b,c\n");    
    scanf("a=%f,b=%f,c=%f",&a,&b,&c);    
    disc=b*b-4*a*c;
    if (disc<0)
    {
        printf("没根\n");
    }
    else
    {
        p=-b/(2*a);    
        q=sqrt(disc)/(2*a);    
        x1=p+q;    
        x2=p-q;    
        printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
    }
}你输入的那个方程根本就没有根,这个你需要加一个判断条件,这样才能正确处理求根公式