这个是什么地方错了, c ++的

来源:百度知道 编辑:UC知道 时间:2024/06/13 21:38:00
#include"iostream.h"
#include"stdio.h"
void main()
{int a,b,c,x1,x2,p;
cout<<"enter three numbers:";
cin>>a>>b>>c;
p=sqrt(b*b-4*a*c);
if(p>=0)
if(p==0){x1=x2=-b/(2*a);}
else {x1=(-b+p)/(2*a);x2=(+b+p)/(2*a);}
else cout<<"无解";
cout<<x1<<endl<<x2<<endl;

}

sqrt()函数在math库里,这样改:
#include<iostream.h> //这里应该是<>,而不是""
#include<math.h>
void main()
{int a,b,c,x1,x2,p;
cout<<"enter three numbers:";
cin>>a>>b>>c;
p=sqrt(b*b-4*a*c);
if(p>=0)
if(p==0){x1=x2=-b/(2*a);}
else {x1=(-b+p)/(2*a);x2=(+b+p)/(2*a);}
else cout<<"无解";
cout<<x1<<endl<<x2<<endl;

getchar(); //这里我加了这句,这样运行程序后会暂停让你看到结果

}

我没细看你的逻辑运算,也就是说你写的代码里的数学运算不确定是正确的,但是没有语法错误了,可以编译成功,如果有逻辑错误自己动动脑子找下吧.

#include<math.h>
少这个

if(p>=0)
if(p==0){x1=x2=-b/(2*a);}
else {x1=(-b+p)/(2*a);x2=(+b+p)/(2*a);}
else cout<<"无解";
------------------------------
if语句错误
if只能嵌套else if而且要以{
}存在
if(p>0)
{
x1=(-b+p)/(2*a);x2=(+b+p)/(2*a);
else if(p==0)
{
x1=x2=-b/(2*a);