求一元二次方程的根
2016-11-17 16:21
253 查看
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c;
double s,x1,x2;
printf("Please input a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(a>=-(1e-6) && a<=(1e-6))
printf("Sorry! You have a wrong number a.\n");
else
{
s=b*b-4*a*c;
if(s>(1e-6))
{/*计算两不相等的实数根*/
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printf("There are two different real:\nx1=%5.2f,x2=%5.2f\n",x1,x2);
}
else
if(s>=-(1e-6) && s<=(1e-6))
{/*计算两相等的实数根*/
x1=x2=-b/(2*a);
printf("There are two equal real:\nx1=%5.2f\n",x1);
}
else
{/*计算两不相等的共轭复根*/
s=-s;
x1=-b/(2*a);
x2=fabs(sqrt(s)/(2*a));
printf ("There are two different complex:\nx1=%5.2f+%5.2fi,x2=%5.2f-%5.2fi\n",x1,x2,x1,x2);
}
}
}
#include <math.h>
void main()
{
double a,b,c;
double s,x1,x2;
printf("Please input a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(a>=-(1e-6) && a<=(1e-6))
printf("Sorry! You have a wrong number a.\n");
else
{
s=b*b-4*a*c;
if(s>(1e-6))
{/*计算两不相等的实数根*/
x1=(-b+sqrt(s))/(2*a);
x2=(-b-sqrt(s))/(2*a);
printf("There are two different real:\nx1=%5.2f,x2=%5.2f\n",x1,x2);
}
else
if(s>=-(1e-6) && s<=(1e-6))
{/*计算两相等的实数根*/
x1=x2=-b/(2*a);
printf("There are two equal real:\nx1=%5.2f\n",x1);
}
else
{/*计算两不相等的共轭复根*/
s=-s;
x1=-b/(2*a);
x2=fabs(sqrt(s)/(2*a));
printf ("There are two different complex:\nx1=%5.2f+%5.2fi,x2=%5.2f-%5.2fi\n",x1,x2,x1,x2);
}
}
}
相关文章推荐
- 用C语言求一元二次方程的解
- 求一元二次方程的根
- 求一元二次方程a*x*x+b*x+c=0的3个根
- 编程求一元二次方程ax2+bx+c=0的根
- C++通过自定义函数求一元二次方程的根
- 第九周上机任务项目5:求一元二次方程的根
- 第9周 求一元二次方程的根
- C语言 求一元二次方程的解 语句
- 求一元二次方程
- 求一元二次方程ax^2+bx+c=0的根
- 求一元二次方程的解
- 求一元二次方程的根,计算运费问题,计算个人所得税问题
- 20:求一元二次方程的根
- 编程求一元二次方程的解
- 求一元二次方程的根的个数
- 程序设计实习MOOC / 程序设计与算法(一)第三周测验(2017冬季)2:求一元二次方程的根
- C#求一元二次方程的根
- 求一元二次方程的根
- 编程求一元二次方程ax2+bx+c=0的根
- 求一元二次方程