C++ 求一元二次方程·的跟


```c++
#include<iostream>
#include<cstdio>
#define ax2+ bx + c =0
using namespace std;
int main()
{
    double a,b,c;
    scanf("%f %f %f",&a,&b,&c);
    double x1 = (-b + sqrt(b*b-4*a*c))/(2*a),;
    double x2 = (-b - sqrt(b*b-4*a*c))
    if(b2=4*a*c)
    {
        prinf("x1=x2=%.5f",x1);
    }
    else if(b2>4*a*c)
    {
        printf("x1=%.5f;x2=%.5f",x1,x2);
    }
    else if(b2<4*a*c)
    {
        printf("x1=%.5f+%.5fi,x2=%.5f+%.5fi",-b / (2*a),sqrt(4*a*c-b*b) / (2*a),-b / (2*a),sqrt(4*a*c-b*b) / (2*a));
    }
    return 0;
 } 
 

###### 运行结果及报错内容 
sqrt未命名,它为啥需要命名啊,它不是个开根号吗
还有其他错误,我也看不懂,球球各位大神走过路过看看傻孩子吧

sqrt需要math.h头文件
b2是个什么鬼?