突然发现自己连一元二次方程怎么算的都不知道了。想了半天,拿起笔来才顺手些了给x2+2x+1=0.悔恨啊。 #include "iostream" #include "cmath" using namespace std; int main(){ double a,b,c; double delta,x1,x2; int sign,stop; cout<<"输入3个系数a(a!=0),b,c"<<endl; cin>>a>>b>>c; if(a==0){ cout<<"a不能等于0!!!!不然这就不是一元二次方程式了"<<endl; exit(0); } delta=b*b-4*a*c; if(delta==0){ cout<<"方程有两个实根:x1=x2="<<-b/(2*a)<<endl; } else{ if(delta>0) sign=1; else sign=0; delta=sqrt(fabs(delta)); x1=-b/(2*a); x2=delta/(2*a); if(sign){ cout<<"方程有两个不同的实根:x1="<<x1+x2<<" x2="<<x1-x2<<endl; } else{ cout<<"方程无实根,有两个不同的复数根:x1="<<x1<<"+i"<<x2<<" x2="<<x1<<"-i"<<x2<<endl; } } }