#include <stdio.h>
#include <math.h>
 
int QuadFormula(double a,double b,double c){
	int check;
	double det, abs_det, c1, c2, x1, x2;
	det = b*b-4*a*c;
	if (a==0){
		//二次方程式ではない
		check = 0;
		if(b==0){
			//一次方程式ではない
			check = -2;
		}
	}else if (det < 0){
		//虚数解をもつ
		check = -1;
	}else{
		//二次方程式
		check = 1;
	}
 
	if (check == -1){
		abs_det = det*-1;
		c1 = -1*b/2*a;
		printf("解は%lf+i%lf, %lf-i%lf です。\n", c1
,c2
,c1
,c2
); 	}else if(check == -2){
		printf("これはxを含む方程式ではありません。\n"); 	}else if(check == 0){
		x1 = -1*c/b;
		printf("この方程式は一次方程式で, x=%lf です。\n", x1
); 	}else if(check == 1){
		x1 
= (-1*b
+sqrt(det
))/2*a
;		x2 
= (-1*b
-sqrt(det
))/2*a
;		if (det == 0){
		printf("この方程式は重解を持つ二次方程式で, x1=x2=%lfです。\n", x1
); 		}else{
		printf("この方程式は二次方程式で, x1=%lf, x2=%lfです。\n", x1
, x2
); 		}
	}
	return 0;
}
 
int main(void){
	double a,b,c,x1,x2;
 
 
	printf("ax^2+bx+c = 0の解を求めるプログラムです。\n");  
 
	QuadFormula(a,b,c);
 
	return 0;
}
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgUXVhZEZvcm11bGEoZG91YmxlIGEsZG91YmxlIGIsZG91YmxlIGMpewoJaW50IGNoZWNrOwoJZG91YmxlIGRldCwgYWJzX2RldCwgYzEsIGMyLCB4MSwgeDI7CglkZXQgPSBiKmItNCphKmM7CglpZiAoYT09MCl7CgkJLy/kuozmrKHmlrnnqIvlvI/jgafjga/jgarjgYQKCQljaGVjayA9IDA7CgkJaWYoYj09MCl7CgkJCS8v5LiA5qyh5pa556iL5byP44Gn44Gv44Gq44GECgkJCWNoZWNrID0gLTI7CgkJfQoJfWVsc2UgaWYgKGRldCA8IDApewoJCS8v6Jma5pWw6Kej44KS44KC44GkCgkJY2hlY2sgPSAtMTsKCX1lbHNlewoJCS8v5LqM5qyh5pa556iL5byPCgkJY2hlY2sgPSAxOwoJfQoJCglpZiAoY2hlY2sgPT0gLTEpewoJCWFic19kZXQgPSBkZXQqLTE7CgkJcHJpbnRmKCLjgZPjga7mlrnnqIvlvI/jga/lrp/mlbDop6PjgpLmjIHjgaHjgb7jgZvjgpPjgIIiKTsKCQljMSA9IC0xKmIvMiphOwoJCWMyID0gc3FydChhYnNfZGV0KS8yKmE7CgkJcHJpbnRmKCLop6Pjga8lbGYraSVsZiwgJWxmLWklbGYg44Gn44GZ44CCXG4iLCBjMSxjMixjMSxjMik7Cgl9ZWxzZSBpZihjaGVjayA9PSAtMil7CgkJcHJpbnRmKCLjgZPjgozjga9444KS5ZCr44KA5pa556iL5byP44Gn44Gv44GC44KK44G+44Gb44KT44CCXG4iKTsKCX1lbHNlIGlmKGNoZWNrID09IDApewoJCXgxID0gLTEqYy9iOwoJCXByaW50Zigi44GT44Gu5pa556iL5byP44Gv5LiA5qyh5pa556iL5byP44GnLCB4PSVsZiDjgafjgZnjgIJcbiIsIHgxKTsKCX1lbHNlIGlmKGNoZWNrID09IDEpewoJCXgxID0gKC0xKmIrc3FydChkZXQpKS8yKmE7CgkJeDIgPSAoLTEqYi1zcXJ0KGRldCkpLzIqYTsKCQlpZiAoZGV0ID09IDApewoJCXByaW50Zigi44GT44Gu5pa556iL5byP44Gv6YeN6Kej44KS5oyB44Gk5LqM5qyh5pa556iL5byP44GnLCB4MT14Mj0lbGbjgafjgZnjgIJcbiIsIHgxKTsKCQl9ZWxzZXsKCQlwcmludGYoIuOBk+OBruaWueeoi+W8j+OBr+S6jOasoeaWueeoi+W8j+OBpywgeDE9JWxmLCB4Mj0lbGbjgafjgZnjgIJcbiIsIHgxLCB4Mik7CgkJfQoJfQoJcmV0dXJuIDA7Cn0KCmludCBtYWluKHZvaWQpewoJZG91YmxlIGEsYixjLHgxLHgyOwoJCgkKCXByaW50ZigiYXheMitieCtjID0gMOOBruino+OCkuaxguOCgeOCi+ODl+ODreOCsOODqeODoOOBp+OBmeOAglxuIik7CgkKCXByaW50ZigiXG5hPSIpOyBzY2FuZigiJWxmIiwgJmEpOwoJcHJpbnRmKCJcbmI9Iik7IHNjYW5mKCIlbGYiLCAmYik7CglwcmludGYoIlxuYz0iKTsgc2NhbmYoIiVsZiIsICZjKTsKCQoJUXVhZEZvcm11bGEoYSxiLGMpOwoJCglyZXR1cm4gMDsKfQ==