黑盒测试/三角形(OC)
typedef enum {
notTriangle,
normalTriangle,
isoscelesTriangle,
equilateralTriangle,
rightTriangle
}Triangle;
- (Triangle)isTriangle:(float) a b:(float) b c:(float) c {
if(a == 0.0 || b == 0.0 || c == 0.0) // 非三角形
return notTriangle;
if((a + b > c) && (b + c > a) && (a + c > b)){ // 为三角形
if (a*a == b*b + c*c || b*b == a*a + c*c || c*c == a*a + b*b) // 为直角三角形
return rightTriangle;
else
if((a == b) && (b == c)) // 等边三角形
return equilateralTriangle;
if((a == b) || (b == c) || (a == c)) // 等腰三角形
return isoscelesTriangle;
else // 普通三角形
return normalTriangle;
}else { // 非三角形
return notTriangle;
}
}
posted on 2016-03-14 10:18 LanceTalks 阅读(917) 评论(0) 编辑 收藏 举报