C语言三角形类型判断

#include<stdio.h>
#include<windows.h>
#include<math.h>

int main()
{
	int a,b,c;//三条边长
	float area,perimeter;//面积 ,周长 
	int t;
	system("title Triangle Judgment Procedure"); 
	printf("input three nuber:");
	scanf("%d%d%d",&a,&b,&c);
		getchar();
	//排序 ps:因为后面的三角形类型判断会用
	if (a < b){	t = a;	a = b;	b = t;	}
	if (a < c){	t = a;	a = c;	c = t;	}
	if (b < c){	t = b;	b = c;	c = t;	}
//	printf("%d%d%d",a,b,c);
	perimeter = a+b+c;
	float per = perimeter/2;
	area = sqrt(per*(per-a)*(per-b)*(per-c));
	if(a+b>c||a+c>b||b+c>a){
		//输出周长以及面积 
		printf("Circumference of triangle:%.2f\n",perimeter);
		printf("Triangular area:%.2f\n",area);
		//判断是什么三角形
		if((pow(b,2)+pow(c,2))>pow(a,2))
		printf("Triangle type:锐角\n");
		else if((pow(b,2)+pow(c,2))==pow(a,2))
		printf("Triangle type:直角\n");
		else if((pow(b,2)+pow(c,2))<pow(a,2))
		printf("Triangle type:钝角\n");
		//下面是判断是什么特殊三角形
		if((a==b&&a!=c)||(c==b&&c!=a)||(a==c&&a!=b)) 
		printf("等腰三角形\n");
		else if(a==b&&a==c)
		printf("等边三角形\n"); 
		else printf("特殊三角形:ERROR!");
	} 
	else
	printf("ERROR!");
	getchar(); 
	return 0; 
} 

原本的问题是:输入三条边的长度,判断是否构成三角形,如果构成输出周长以及面积。

我写的程序多出一部分是判断是什么类型的三角形。

猜你喜欢

转载自blog.csdn.net/qq_43581670/article/details/107605589