编程学习网 > 编程语言 > C/C++开发 > c语言编程:三角形的判定
2022
11-29

c语言编程:三角形的判定

今天编程学习网为大家讲解c语言编程:三角形的判定,有需要的小伙伴可以参考一下:

判断三角形的类型,根据输入的三角形的三条边判断三角形的类型,并依次输出其类型和面积。

如果输入的信息不是三角形 则输出 no triangle。
输入示例:
1
3 4 5
 输出示例:
right triangle,6.0
代码: 
```C
#include<stdio.h>
#include<math.h>
int main(){
int i,n;
double a,b,c,s,A;
scanf("%d",&n); // 输入将进行判断的三角形组数
for(i=1;i<=n;i++){
scanf("%lf%lf%lf",&a,&b,&c); // 输入三角形的三边长度
if(a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a){  //判断是不是三角形
s=(a+b+c)/2;  //计算三角形半周长
A=sqrt(s*(s-a)*(s-b)*(s-c));  //利用海伦公式计算三角形面积
if(a==b && a==c) printf("equilateral triangle,%.1lf\n",A);  
// 首先判断是不是等边三角形
    else if(a==b || a==c || b==c){    
    if(fabs(a*a + b*b-c*c )<0.001|| fabs(a*a + c*c == b*b)<0.001 || fabs(c*c + b*b == a*a)<0.001) // 如果有两边相等则先判断是不是等腰直角三角形
    printf("isosceles right triangle,%.1lf\n",A);
    else printf("isosceles triangle,%.1lf\n",A); // 不满足勾股定理即为等腰三角形
    }
    else if(fabs(a*a + b*b-c*c )<0.001|| fabs(a*a + c*c == b*b)<0.001 || fabs(c*c + b*b == a*a)<0.001) //判断是不是直角三角形
    printf("right triangle,%.1lf\n",A);
else printf("general triangle,%.1lf\n",A); //以上条件均不满足则为普通三角形
}else printf("no triangle"); //不满足任意两边之和大于第三边的条件则输出不是三角形
}
return 0; 
}
```
补充知识:

海伦公式:

以上就是“c语言编程:三角形的判定”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取