题解 | #计算一元二次方程#

计算一元二次方程

https://www.nowcoder.com/practice/7da524bb452441b2af7e64545c38dc26

#include <stdio.h>
#include <math.h>
int main() {
	float a, b, c, x1, x2, w, m, n;
	while(scanf("%f %f %f", &a, &b, &c) != EOF) {
		w = b*b - 4*a*c;
		n = sqrt(-w) / (2*a);
		m =  -b / (2*a);
	if(a != 0){
		if(w==0){
			if(m==0){
			printf("x1=x2=0.00\n");
			}else{
			x1 = x2= m;
			printf("x1=x2=%.2f\n", x1);}
		}
		else if(w > 0){
			x1 = (-b-sqrt(w))/(2*a);
			x2 = (-b+sqrt(w))/(2*a);
			printf("x1=%.2f;x2=%.2f\n", x1, x2);
		}
		else if(w < 0){
			printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", m, n, m, n);
		}
	}else if(a == 0){
		printf("Not quadratic equation\n");
	    }
    }
	return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务