根据三角形三边求面积 找错

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:38:28
#include <iostream.h>
#include <math.h>
float TriangleArea(float a,float b,float c){
float s;
if ((a+b<=c)||(b+c<=a)||(c+a<=b)) return -1;
else s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}
void main(){
float a,b,c,area;
cin>>a,b,c;
area=TriangleArea(a,b,c);
if(area=-1) cout<<"ERROR!输出的a,b,c不能构成三角形!";
else cout<<area;
}

哪错了?即使输出的a,b,c符合((a+b<=c)||(b+c<=a)||(c+a<=b))还是输出ERROR!输出的a,b,c不能构成三角形

#include <iostream.h>
#include <math.h>
float TriangleArea(float a,float b,float c){
float s;
if ((a+b<=c)||(b+c<=a)||(c+a<=b)) return -1;
else s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}
void main(){
float a,b,c,area;
cin>>a>>b>>c; //此处改过,一看便明白.
area=TriangleArea(a,b,c);
if(area==-1) cout<<"ERROR!输出的a,b,c不能构成三角形!"; //此处改过,将=改为了==
else cout<<area;
}

判断的时候错了 要用==
if(area==-1)