求ax^2+bx+c=0的根

来源:互联网 发布:康佳lc32es62数据 编辑:程序博客网 时间:2024/06/05 04:57
#include <stdio.h>#include <stdlib.h>#include <math.h>void Fac(int a,int b,int c){    int d=b*b-4*a*c;    double x1;    double x2;    if(0==a)    {        x1=x2=-c/(double)b;        printf("x1=%f,x2=%f\n",x1,x2);    }    else if(d<0)    {        printf("无解\n");    }    else if(d==0)    {        x1=x2=-b/(double)(2*a);//进行强转        printf("x1=%f,x2=%f\n",x1,x2);    }    else     {        x1=(-b+sqrt((double)d))/(2*a);        x2=(-b-sqrt((double)d))/(2*a);        printf("x1=%f,x2=%f\n",x1,x2);    }}int main(){    Fac(3,6,23);    Fac(6,6,4);    Fac(0,8,9);    return 0;}打印结果:无解无解x1=-1.125000,x2=-1.125000
原创粉丝点击