输入三条线段的长度,判定它们能否构成一个三角形。如果能构成三角形,打印它们所构成的三角形的名称,包括等边、直角、等腰或任意三角形。
//输入的三角形的三条边判断能否组成三角形,并判断三角形的类型
#include <stdio.h>
int main() {
float a[3];
int right_tag=0; //是直角标志
int equal_tag=0; //是等腰标志
printf("请输入三条边的长度:\n");
scanf("%f %f %f",a,&a[1],&a[2]);
for(int i=0;i<2;i++)
{
if(a[i]>a[i+1]) { //找到最大的边并放在数组最后位置
float temp = 0;
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
if(a[0]*a[0]+a[1]*a[1]==a[2]*a[2]) //判断是直角
right_tag=1;
if(a[0]==a[1]||a[2]==a[0]||a[1]==a[2]) //判断是等腰
equal_tag=1;
if(a[0]+a[1]>a[2]){
if(a[0]==a[1]&&a[1]==a[2])
printf("能够成等边三角形");
else if(equal_tag==1&&right_tag==1)
printf("能够成直角等腰三角形");
else if(equal_tag == 1&&right_tag==0)
printf("能够成等腰三角形");
else if(right_tag==1)
printf("能构成直角三角形");
else printf("能构成任意三角形");
}
else printf("不能构成三角形");
return 0;
}