#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
求ax^2+bx+c=0的根
最新推荐文章于 2024-07-31 23:09:38 发布