c**z 发帖数: 669 | 1 四个分类: 等边,等腰,不等,错误。 谢谢
TypeofTri GetTypeofTriangle( int a, int b, int c )
{
if ( a <= 0 || b <=0 || c <= 0 || ( a + b ) > INT_MAX || ( a + c ) > INT
_MAX || ( b + c ) > INT_MAX || ( a - b ) < INT_MIN || ( a - c ) < INT_MIN ||
(b - c) < INT_MIN )
return TypeofTri::eERROR;
bool bisTriangle = ( a + b ) > c && ( a + c) > b && ( b+c) > a;
if ( !bisTriangle )
return TypeofTri::eERROR;
if ( ( a == b) && ( a == c ) && ( b == c ) )
return TypeofTri::eEQUILATERAL;
else if ( ( a == b ) || ( a == c ) || ( b == c ) )
return TypeofTri::eISOSCELES;
else
return TypeofTri::eSCALENE;
} | g*******s 发帖数: 2963 | | l***8 发帖数: 149 | 3 int values will never be larger than INT_MAX or smaller than INT_MIN
INT
||
【在 c**z 的大作中提到】 : 四个分类: 等边,等腰,不等,错误。 谢谢 : TypeofTri GetTypeofTriangle( int a, int b, int c ) : { : if ( a <= 0 || b <=0 || c <= 0 || ( a + b ) > INT_MAX || ( a + c ) > INT : _MAX || ( b + c ) > INT_MAX || ( a - b ) < INT_MIN || ( a - c ) < INT_MIN || : (b - c) < INT_MIN ) : return TypeofTri::eERROR; : bool bisTriangle = ( a + b ) > c && ( a + c) > b && ( b+c) > a; : if ( !bisTriangle ) : return TypeofTri::eERROR;
| A*****i 发帖数: 3587 | |
|