样例
input
1.0 2.0 8.0
output
x1=-1.00000+2.64575i;x2=-1.00000-2.64575i
测试网站 https://turingjudge.com/contest/23/problem/d
#include<iostream>
#include<cstring>
#include <cmath>
#include <cstdio>
using namespace std;
int main()
{
double a,b,c;
cin>>a>>b>>c;
if(a<0)
{
a=0-a;
b=0-b;
c=0-c;
}
if(b*b==4*a*c)printf("x1=x2=%.5lf",(0-b+sqrt(b*b-4*a*c))/(2*a));
if(b*b>4*a*c) printf("x1=%.5lf;x2=%.5lf",(0-b+sqrt(b*b-4*a*c))/(2*a),(0-b-sqrt(b*b-4*a*c))/(2*a));
if(b*b<4*a*c)printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",(0-b)/(2*a),sqrt(4*a*c-b*b)/(2*a),(0-b)/(2*a),sqrt(4*a*c-b*b)/(2*a));
return 0;
}
#include<iostream>
#include<cstring>
#include <cmath>
#include <cstdio>
using namespace std;
int main() {
double a,b,c;
cin>>a>>b>>c;
if(b*b==4*a*c)printf("x1=x2=%.5lf",(0-b+sqrt(b*b-4*a*c))/(2*a));
if(b*b>4*a*c) {
double x1=(0-b+sqrt(b*b-4*a*c))/(2*a),x2=(0-b-sqrt(b*b-4*a*c))/(2*a);
if(x1<x2) swap(x1,x2);
printf("x1=%.5lf;x2=%.5lf",x1,x2);
}
if(b*b<4*a*c) {
double x1=(0-b)/(2*a),x2=sqrt(4*a*c-b*b)/(2*a);
if(x2<0) x2=0-x2;
printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",x1,x2,x1,x2);
}
return 0;
}
系数a
系数b
系数c