您的位置:首页 > 其它

求解一个一元二次方程的解

2016-12-11 10:19 225 查看
求解方程方程的根

分为三种情况讨论,程序中要注意浮点数与0相等的比较方法。

#include <stdio.h>

#include <math.h>

#define EXP 0.0000001

int main()

 {

double a, b, c, m, k, t, s, x1, x2;

printf("按顺序输入系数: \n");

scanf_s("%lf%lf%lf", &a, &b, &c);

k = b*b - 4 * a*c;

t = -b / (2.0*a);

m = sqrt(k);

s = m / (2.0*a);

x1 = t + s;

x2 = t - s;

if ((a > -EXP) && (a<EXP))

printf("该方程不是一元二次方程");

else

{

if ((k >= -EXP) && (k <=
EXP))

{

printf("x=%lf \n", x1);

}

else if (k>0.0)

{

printf("x1=%lf,x2=%lf \n", x1, x2);

}

else

{

printf("方程有两个共轭复根");

}

}

return 0;

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