C語言公式法求一元二次方差的根

sum_er發表於2020-10-03

求一元二次方程的根
利用了公式法求解一元二次方程,使用了if條件語句,根據判別式的值討論了三種情況,分別是:
(1)b^2-4ac>0;有兩個不等實根。
(2)b^2-4ac<0;有兩個相等實根。
(3)b^2-4ac=0;無解。

下面是公式法的具體形式:
在這裡插入圖片描述

#include<stdio.h>
#include<Windows.h>
#include<math.h>
#pragma warning(disable:4996)

int main(){
	while (1){
		double a, b, c, x1, x2;
		printf("please enter a b c\n");
		scanf("%lf %lf %lf",&a,&b,&c);
		double sel = b*b - 4 * a*c;
		
		if (sel > 0){
			x1 = (-b + sqrt(sel)) / (2*a);
			x2 = (-b - sqrt(sel)) / (2*a);
			printf("x1=%lf x2=%lf\n", x1, x2);
		}
		else if (sel == 0){
			x1 = x2 = (-b) / (2*a);
			printf("x1=x2=%lf\n", x1);
		}
		else if (sel < 0){
			printf("次方程無解\n");
		}
	}
	return 0;
	system("pause");
}

相關文章