进阶灵鹤:用TC2.0解决 当b2–4ac>0时,求ax2+bx+c=0的两个根。

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 14:49:02
在我学习C语言时,遇到如下问题;
当b2–4ac>0时,求ax2+bx+c=0的两个根。
用程序来解决。
那位好心people能帮我解决?

设d=b2-4ac
=0时x1=x2=-b/(2a)
>0时x1=(-b+sqr(d))/(2a)
x2=(-b-sqr(d))/(2a)

#include "stdio.h"
#include "math.h"
#define ZERO 10E-6
#define ZEROT 10E-8
main()
{
float a,b,c,pp;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
pp = b * b - 4 * a * c;
if(pp < ZERO)
return 0;
else if(abs(pp - ZERO) < ZEROT)
printf("x1 = x2 = %d",-b/(2*a));
else
printf("x1 = %d,x2 = %d",(-b+sqrt(pp))/(2*a),(-b-sqrt(pp))/(2*a));
}