リーグ二次方程式 2 ax² + BX + C = 0

みなさん、こんにちは, 我々は解決した、まったく前に 最上級式 すでに, この記事では、我々は方程式のキャリアを解決しようとしています 2 NHE.

スレッド: リーグ二次方程式 2: ax² + BX + C = 0 (≠ 0) とともに, B, キーボードからのC入力

私たちは、の知識を思い出します 二次方程式 2 ≠ 0 次のように:

B1: デルタを計算します: D = B ^ 2 – 4と
B2: 困難に簡単にから、各ケースのためのデルタをチェック
TH1: D < 0 =>方程式は解をもちません.
TH2: D = 0 =>式は二重の経験を持っています x = \frac{-b}{2a}
TH3: D> 0 =>式 2 経験 x = \frac{-b\pm \sqrt{\Delta }}{2a}

ここからは徐々に方法を知っているだろう, それは私たちが行う手順として立っ. この中には 1 問題があります 平方根を計算する方法 2?. あなたは、あなたのリンクの資料を表示することができます, それは、純粋なアルゴリズムであります, Cは、私たちのライブラリを提供します math.h 平方根を計算します 2 コマンド SQRT(X) – 平方根を計算 2 その後、数x、. 今、一人だけのコード.

/*
*	Giai phuong trinh bac 2: ax² + bx + c = 0
*/

#include <stdio.h>
#include <math.h>

int main() {
	float a, b, c;
	float delta;

	printf("Enter a, b and c:\n");
	scanf("%f%f%f", &a, &b, &c);

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

	if(a == 0) {
		printf("You must enter a > 0\n");
		return 0; // finish 
	}

	if(delta < 0) {
		printf("Impossible equation (No result for x)\n");
	} 

	if(delta == 0) {
		float x = -b / (2 * a);
		printf("x = %.2f\n", x);
	}

	if(delta > 0) {
		float x1 = (-b + sqrt(delta) ) / (2 * a);
		float x2 = (-b - sqrt(delta) ) / (2 * a);
		printf("x1 = %.2f\n", x1);
		printf("x2 = %.2f\n", x2);
	}

	return 0;
}
エクササイズ: あなたは二次方程式を取ります 2 そのような条件を入力することができます= 0