C言語 - B ^ 2-4acが0より大きい場合に方程式を解く三件の機能評価の方程式の根は、0未満0がルートであり、その結果を出力と等しいです。入力は、メイン関数から、B、Cの値

1029:C言語-方程式を解く
対象説明
0よりときB ^ 2-4ac大きく3つの機能評価と、それぞれ、方程式の根を求めるには、0に等しい未満0がルートであり、その結果を出力します。入力は、メイン関数から、B、Cの値。

入力
のABC
出力
×1 =?X2 =?
サンプル入力
411
サンプル出力
×1 = -0.125 + 0.484i×2 = -0.125-0.484i

# include<stdio.h>
# include<math.h>
void k(double a,double b,double m);
void kk(double a,double b,double m);
void kkk(double a,double b,double m);
int main()
{
	double a,b,c,m;
	scanf("%lf %lf %lf",&a,&b,&c);
	m=b*b-4*a*c;
	if(m>0) k(a,b,m);
	if(m==0) kk(a,b,m);
	if(m<0)  kkk(a,b,m);
	return 0;
}
void k(double a,double b,double m)
{
	printf("x1=%0.3lf x2=%0.3lf",(-b+sqrt(m))/(2.0*a),(-b-sqrt(m))/(2.0*a));
}
void kk(double a,double b,double m)
{
	printf("x1=%0.3lf x2=%0.3lf",(-b+sqrt(m))/(2.0*a),(-b-sqrt(m))/(2.0*a));
}
void kkk(double a,double b,double m)
{
	printf("x1=%0.3lf+%0.3lfi x2=%0.3lf-%0.3lfi",(-b)/(2.0*a),sqrt(-m)/(2.0*a),(-b)/(2.0*a),sqrt(-m)/(2.0*a));
}

公開された123元の記事 ウォンの賞賛8 ビュー20000 +

おすすめ

転載: blog.csdn.net/Du798566/article/details/104870780