#include <stdio.h>
#include <windows.h>
#include <math.h>
int main()
{
int a, b, c; //三条边长
float area, perimeter; //面积 ,周长
int t;
system("title Triangle Judgment Procedure");
printf("input three nuber:");
scanf("%d%d%d", &a, &b, &c);
getchar();
//排序 ps:因为后面的三角形类型判断会用
if (a < b)
{
t = a;
a = b;
b = t;
}
if (a < c)
{
t = a;
a = c;
c = t;
}
if (b < c)
{
t = b;
b = c;
c = t;
}
// printf("%d%d%d",a,b,c);
perimeter = a + b + c;
float per = perimeter / 2;
area = sqrt(per * (per - a) * (per - b) * (per - c));
if (a + b > c || a + c > b || b + c > a)
{
//输出周长以及面积
printf("Circumference of triangle:%.2f\n", perimeter);
printf("Triangular area:%.2f\n", area);
//判断是什么三角形
if ((pow(b, 2) + pow(c, 2)) > pow(a, 2))
printf("Triangle type:锐角\n");
else if ((pow(b, 2) + pow(c, 2)) == pow(a, 2))
printf("Triangle type:直角\n");
else if ((pow(b, 2) + pow(c, 2)) < pow(a, 2))
printf("Triangle type:钝角\n");
//下面是判断是什么特殊三角形
if ((a == b && a != c) || (c == b && c != a) || (a == c && a != b))
printf("等腰三角形\n");
else if (a == b && a == c)
printf("等边三角形\n");
else
printf("特殊三角形:ERROR!");
}
else
printf("ERROR!");
getchar();
return 0;
}
原本的问题是:输入三条边的长度,判断是否构成三角形,如果构成输出周长以及面积。
我写的程序多出一部分是判断是什么类型的三角形。