用C#语言判定三角形

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:43:11
输入三个数,判断是否构成三角形.若构成三角形则判定为何种三角形,包括普通锐角三角形,普通直角三角形,普通钝角三角形,等边三角形,等腰锐角三角形,等腰直角三角形,等腰钝角三角形,且输出最大角为多少(保留2位小数).还要测试代码.

我写的代码就是不能测试出等腰直角三角形,测试1,1,1.41或1,1,1.42答案不是89点几就是90点几.
老师提示可以在偏差一定范围之内取90度.还提到了一个什麽min=0.3414的东西.求高手帮忙!

public class Triangle
{

public TriangleValue GetTriangleType(double a, double b, double c)
{
double[] values = new double[3] { a, b, c };
double max, mid, mix;
double inaccuracy = 0.001;//允许误差
int equFlag =1;//普通三角形
int typeFlag = 3;//直角三角形
Array.Sort(values);
mix = values[0];
mid = values[1];
max = values[2];
if (mix == max )
equFlag = 0;//等边三角形
else if (mid == max || mid == mix)
equFlag = 2;//等腰三角形
if (values[0] + values[1] <= values[2])
return null;
else
{
double theorem = Math.Sqrt(mix * mix + mid * mid);
if (max > theorem + inaccuracy )
typeFlag = 4;//钝角三角形