#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;
}
原本的问题是:输入三条边的长度,判断是否构成三角形,如果构成输出周长以及面积。
我写的程序多出一部分是判断是什么类型的三角形。