不懂就问
  • 板块学术版
  • 楼主happy_guest
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/6/17 11:47
  • 上次更新2024/12/28 10:36:27
查看原帖
不懂就问
746969
happy_guest楼主2024/6/17 11:47
#include<bits/stdc++.h>
using namespace std;
double a,b,c;
int main(){
    cin>>a>>b>>c;
    if(b*b<4*a*c)
        printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi",-1*b/2/a,sqrt(-1*(b*b-4*a*c))/2/a,-1*b/2/a,sqrt(-1*(b*b-4*a*c))/2/a);
    else if(b*b==4*a*c)
        printf("x1=x2=%.5lf",-1*b/2/a);
    else if((-1*b-sqrt(b*b-4*a*c))/2/a>(-1*b+sqrt(b*b-4*a*c))/2/a)
        printf("x1=%.5lf;x2=%.5lf",(-1*b-sqrt(b*b-4*a*c))/2/a,(-1*b+sqrt(b*b-4*a*c))/2/a);
    else
        printf("x1=%.5lf;x2=%.5lf",(-1*b+sqrt(b*b-4*a*c))/2/a,(-1*b-sqrt(b*b-4*a*c))/2/a);
    return 0;
}
//input:1 0 1
//output:x1=-0.00000+1.00000i;x2=-0.00000-1.00000i

为什么会输出−0.00000-0.00000

2024/6/17 11:47
加载中...