当前位置:网站首页>详解C语言编程题:任意三条边能否构成三角形,输出该三角形面积并判断其类型

详解C语言编程题:任意三条边能否构成三角形,输出该三角形面积并判断其类型

2022-06-26 13:56:00 醒醒起来学习啦

问题:根据输入的三角形的三边判断是否能组成三角形,若可以,则输出它的面积并判断该三角形的类型。

思路:

1、判断三边是否能组成三角形:任意两边之和大于第三边、任意两边之差小于第三边。(这里以前者举例)

2、三角形面积公式(这里用海伦公式):半周长p=\frac{a+b+c}{2}   

三角形面积S=\sqrt{p(p-a)(p-b)(p-c)}

3、三角形的类型:等边三角形、等腰三角形、直角三角形、一般三角形

代码:

#include  <stdio.h>
#include  <math.h>
int main()
{
	float  a, b, c;//定义三角形三边为a、b、c
	float  p, S;//定义三角形的半周长p、面积S
	scanf("%f,%f,%f",&a, &b, &c);//任意输入三条边
	if ((a+b>c) && (a+c>b) &&(b+c>a))//三角形任意两边之和大于第三边
	{
		p = (a + b + c) / 2;//半周长
		S = sqrt(p * (p - a) * (p - b) * (p - c));
		printf("三角形的面积为: % f\n", S);
		if ((a==b) && (b==c))//三条边相等
			printf("等边三角形\n");
		else  if ((a==b)||(b==c)||(a==c))//任意两边相等
			printf("等腰三角形\n");
		else  if ((a * a + b * b == c * c) || (a * a + c * c == b * b) || (c * c + b * b == a * a))//勾股定理
			printf("直角三角形\n");
		else  printf("一般三角形\n");
	}
	else  printf("不能组成三角形\n");
	return 0;
}

希望能够帮到你,觉得有用的话就点赞支持一下吧!

原网站

版权声明
本文为[醒醒起来学习啦]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_66470136/article/details/125453193