c语言求三角形的面积及判断三角形类型

时间:2022-09-25 00:26:14
//==================
//判断三角形的类型
//==================
#include <stdio.h>
#include <math.h>

void judge(int a, int b, int c)
{
float s, area;
if (a + b > c && b + c > a && a + c > b)//两边之和大于第三边
{
s = (a + b + c) / 2;
area = (float)sqrt(s *(s - a)*(s - b)*(s - c)); //计算三角形的面积
printf("面积是:%f\n", area);
if (a == b && a == c)//判断三条边是否相等
printf("等边三角形\n");//输出等边三角形
else if (a == b || a == c || b == c)//判断是否有两边相等
printf("等腰三角形\n");//等腰三角形
else if ((a *a + b * b == c *c) || //两边的平方和等于第三边的平方
(a * a + c * c == b *b) ||
(b * b + c * c == a *a))
printf("直角三角形\n");//直角三角形
else
printf("普通三角形");//普通三角形
}
else
printf("不能构成三角形");//两边之和小于第三边不能组成三角形
}

int main()
{
float a, b, c;
printf("请输入三角形三条边长:");
scanf("%f%f%f", &a, &b, &c);//输入三条边
judge(a,b,c);

return 0;
}
求三角形面积2:#include <stdio.h>#include <math.h>main(){  float a, b, c, p; double q, s; scanf("%f,%f,%f",&a,&b,&c); p=(a+b+c)/2.0; q=p*(p-a)*(p-b)*(p-c); s=sqrt(q); printf("a=%0.2f\nb=%0.2f\nc=%0.2f\n",a,b,c); printf("area=%f\n",s); }