1. 程式人生 > >c語言求三角形的面積及判斷三角形型別

c語言求三角形的面積及判斷三角形型別

//==================
//判斷三角形的型別
//==================
#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); 
}