栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言 三角形判定

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言 三角形判定

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

如果输入的信息不是三角形 则输出 no triangle。

输入示例:

1
3 4 5

 输出示例:

right triangle,6.0

代码: 


```C
#include
#include
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,%.1lfn",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,%.1lfn",A);
		    else printf("isosceles triangle,%.1lfn",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,%.1lfn",A);
		else printf("general triangle,%.1lfn",A); //以上条件均不满足则为普通三角形
		
	}else printf("no triangle"); //不满足任意两边之和大于第三边的条件则输出不是三角形
	
	}
	
	return 0; 
}

```

补充知识:

海伦公式:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/311917.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号