关于如何利用c计算 求一元二次方程的根

#include<stdio.h>
#include <math.h>
int main()
{
	float y=0,d=0,m=0,sum=0,l=0,s=0,a=0,b=0,c=0,u=0,n=0,x=0,i=0,f=0;
	scanf("%f %f %f",&a,&b,&c);
	d=(b*b)-4*(a*c);
	if (a==0&&b!=0&&c!=0)
	{
		x=(-b)/c;
		printf("%.2f",x);
	}
	else if(a==0&&b==0&&c!=0)
	{
		printf("Not An Equation");
	 } 
	else if(a==0&&b==0&&c==0)
	{
		printf("Zero Equation");
	}
	else if(d>=0)
	{
		
		d=fabs(d);
		f=sqrt(d);
		u=(-b)+f;
		n=(-b)-f;
		x=u/(2.0*a);
		y=n/(2.0*a);
		if(y>x)
		{
			printf("%.2lf\n%.2lf",y,x);
		}
		else if(y<x)
		{
			printf("%.2f\n%.2f",x,y);
		}
		else
		{
			printf("%.2f",x);
		}
	}
	
	else
	{
		d=fabs(d);
		f=sqrt(d);
		u=f/(2*a);
		x=(-b/(2*a));
		printf("%.2lf+%.2lfi\n",x,u);
		printf("%.2lf-%.2lfi",x,u);
	
	}
	
}

Guess you like

Origin blog.csdn.net/secret125/article/details/121069668