UT源码 040

设计三角形问题的程序

      输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)

     现在要求输入三个整数a、b、c,必须满足以下条件:

     条件1   1≤a≤100          条件4   a

     条件2   1≤b≤100          条件5   b

     条件3   1≤c≤100          条件6   c

  String triangle(int a,int b,int c)    返回字符型

 程序要求:

1)先显示:“请输入三角形的三条边:”

2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”

3)只要有不满足4,5,6之一,就返回“不构成三角形”

4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”

 

#include "stdafx.h"
#include "stdio.h"


char* triangle(int a, int b, int c)
{
if ((a >= 1 || a <= 100) && (b >= 1 || b <= 100) && (c >= 1 || c <= 100))
{
if (a<(b + c) && b<(a + c) && c<(a + b))
{
if (a == b&&b == c)
{
return "等边三角形\n";
}
else if (a == b || a == c || b == c)
{
return "等腰三角形\n";
}
else if (a*a == (b*b + c*c) || b*b == (a*a + c*c) || c*c ==( a*a + b*b))
{
return "直角三角形\n";
}
else
{
return "一般三角形\n";
}
}
else
{
return "不构成三角形\n";
}
}
else
{
return "边的值不在范围内\n";
}
}

 

int main()
{
printf("请输入三角形的三条边:");
float a[3] = {0.0f};
if (scanf("%f %f %f", &a[0], &a[1], &a[2]) != 3)
{
printf("输入格式错误!\n");
return 0;
}
float n;
int m;

//判断是否为整数
for (m = 0; m < 3; m++)
{
n = a[m];
if (n >= 0)
{
if ((n - (int)n) < 1e-6 || (n - (int)n) > 0.999999)
continue;
else
{
printf("不是整数\n");
break;
}
}
else
{
if (-(n - (int)n) < 1e-6 || -(n - (int)n) > 0.999999)
continue;
else
{
printf("不是整数\n");
break;
}
}
}
if (m==3)
printf("%s", triangle(a[0], a[1], a[2]));

getchar();
getchar();
return 0;
}

 

你可能感兴趣的:(UT源码 040)