做判断三角形的题时候发现输入1.1 2.2 3.3的时候,会判断为是三角形且输出面积为0.0,很迷茫,就各位帮忙简答。
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
double a, b, c, s, area;
while(cin>>a>>b>>c){
if (((a+b)<=c)||((b+c)<=a)||((c+a)<=b)){
cout<<"Error"<<endl;
}else{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
cout<<setiosflags(ios::fixed)<<setprecision(2)<<area<<endl;
}
}
return 0;
}
输出结果