您的位置:首页 > 其它

方程求解

2013-03-28 11:03 246 查看
题目:求

方程的解

【代码】

#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,dis,x1,x2;
printf("Please input a b c \n");
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);//注意这里是lf
if(fabs(a)<=1e-6)//实数在计算和存储时可能会出现一些微小误差,因此不能直接进行是否等于0的判断
printf("The root is %lf\n",-c/b);
else
{
dis=b*b-4*a*c;
if(fabs(dis)<=1e-6)
printf("The roots are %lf\n",-b/(2*a));
else if(dis >=1e-6)
{
x1=-b/(2*a);
x2=sqrt(dis)/(2*a);
printf("The roots are %lf and %lf\n", x1+x2,x1-x2);
}
else
{
x1=-b/(2*a);
x2=sqrt(-dis)/(2*a);
printf("The roots are %lf+%lfi and %lf-%lfi\n", x1,x2,x1,x2);
}
}
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: