求二次方程根(c语言)

#include <stdio.h>
#include <stdio.h>
#include <math.h>
void f1(float a,float b,float c);
void f2(float a,float b,float c);
void f3(float a,float b,float c);
int main(){
	float a,b,c;
	float d=b*b-4*a*c;
	scanf("%f %f %f",&a,&b,&c);
	
	if(d>0){
		f1(a,b,c);
	}else if(d==0){
		f2(a,b,c);
	}else if(d<0){
		f3(a,b,c);
	}	
	
	return 0;
}
void f1(float a,float b,float c){
	float d=sqrt(b*b-4*a*c);
	float x1=(-b+d)/(2*a),x2=(-b-d)/(2*a);
	printf("x1=%f x2=%f",x1,x2);	
}
void f2(float a,float b,float c){
	float d=sqrt(b*b-4*a*c);
	float x1=(-b+d)/(2*a),x2=(-b-d)/(2*a);
	printf("x1=%f x2=%f",x1,x2);
}
void f3(float a,float b,float c){
	float x1=-b/(2*a),x2=sqrt(-(b*b-4*a*c))/(2*a);
	printf("x1=%f+%fi x2=%f-%fi",x1,x2,x1,x2);	
}


Guess you like

Origin blog.csdn.net/just_a_fresh_man/article/details/121220355