题解 | 计算一元二次方程刘惠版

计算一元二次方程

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

#include <stdio.h>
#include <math.h>
int main(){
	double a,b,c;//方程各项系数
	double delta=0;
	double x1,x2;
	while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF){
		
		if(a==0){
			printf("Not quadratic equation");
			continue;
		}
		else {
			delta= pow(b,2)-4*a*c;
			if(delta==0){
				double x=-b/(2*a);
				if(x==0){
			    printf("x1=x2=0.00\n");
				}
				else {
				printf("x1=x2=%.2lf\n",x);
			    }
			}
			else if(delta>0){
				x1=(-b-sqrt(delta))/(2*a);
				x2=(-b+sqrt(delta))/(2*a);
				if(x1>x2){
					int temp=x1;
					x1=x2;
					x2=temp;
				}
				printf("x1=%.2lf;x2=%.2lf\n",x1,x2);
			}else{
				double R=-b/(2*a);
				double r=sqrt(-delta)/(2*a);
				printf("x1=%.2lf-%.2lfi;x2=%.2lf+%.2lfi\n",R,r,R,r);
			}
		}	
	}
	
	return 0; 
}

全部评论

相关推荐

10-17 23:18
已编辑
西北农林科技大学 Web前端
独行m:给25可以试试,但他只能给12,那就是纯纯的事精
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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