c言語は1元の2次方程式の根を求めます


1つの1元2次方程式について、次のように分析します.
                       ax^2+bx+c=0
分析:
1.a=0の場合:
結論:一元二次方程式ではない.
2.a!=0:
結論:(1)b^2-4 ac=0の場合、方程式には2つの等しい実根があり、x 1=x 2=-b/2 aである.
(2)b^2-4 ac>0の場合、方程式には2つの等しくない実根があり、x 1=(-b+√(b^2-4 ac)/(2 a)、x 2=(-b-√(b^2-4 ac)/(2 a);
(3)b^2−4 ac<0の場合、方程式には共役複根のセットがある.
3.注意事項:
(1)方程式のルートについては小数点が多いため,変数を定義する際に整数型は使用できず,浮動小数点型やdouble型を使用することができる.
                       (2).変数をゼロ値と比較する場合、浮動小数点変数を「==」または「!=」で任意の数字と比較することはできません.
                       (3).関数sqrtを使用するには、ヘッダファイルincludeを参照する必要があります.
c言語のプログラムコードを以下に書きます.
 
#include 
#include 
#define EXP 0.00000001
int main()
{
	double a = 0.0;
	double b = 0.0;
	double c = 0.0;
	scanf_s("%lf%lf%lf",&a,&b,&c);
	if ((a>=-EXP)&&(a<=EXP))
	{
		printf("        
"); } else { double disc = b*b-4*a*c; if(( disc >= -EXP)&&( disc <= EXP)) { printf("x = %lf
",-b/(2*a)); } else if ( disc > 0.0) { printf("x1 = x2 %lf, x2 = %lf
", (-b+sqrt(disc))/(2*a), (-b-sqrt(disc))/(2*a)); } else { printf("
"); } } return 0; }