判断三角形的原理
- 如果两边之和大于第三边或者两边之差小于第三边,则可以构成三角形
- 三角形分为不规则、直角、等腰和等边三角形
学习要点
- fabs() 绝对值,在include<math.h>中
- 函数放mian()后时,要提前声明函数
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int judgeTriangle(int a,int b,int c);
//提前声明函数,否则函数不可用
main()
{
int a,b,c;
int judge;
printf("请输入三个整数:");
scanf("%d %d %D",&a,&b,&c);
judge=judgeTriangle(a,b,c);//判断三角形的类型
switch(judge) //根据判断出的结果对结果进行输出
{
case -1:
printf("它不构成一个三角形。\n");
break;
case 0:
printf("它是一个不规则三角形。\n");
break;
case 1:
printf("它是一个直角三角形。\n");
break;
case 2:
printf("它是一个等腰三角形。\n");
break;
case 3:
printf("它是一个等边三角形。\n");
break;
}
system("pause");
return 0;
}
int judgeTriangle(int a,int b,int c)
{
int judge;
if(fabs(a-b)<c&&fabs(a+b)>c)
//如果两边之和大于第三边或者两边之差小于第三边,则可以构成三角形
{
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
judge=1;
else if(a!=b&&a!=c&&b!=c)
judge=0;
else
{
if(a==b&&b==c&&c==a)
judge=3;
else
judge=2;
}
}
else
judge=-1;
return judge;
}