一、数学定理。
判断三边是否可以组成三角形,数学定理为,任意两边和必须大于第三边。
二、流程。
1、输入三条边长度;
2、 由于题目限制输入为三个正数,所以无需判断输入的合法性,直接对任意两边相加,判断是否大于第三边即可;
3、如果三次判断均成立,则可以组成三角形,否则不能;
4、输出结果。
三、参考代码:
#include
int main()
{
double a,b,c;//任意正数,没有限定为整数,所以用double存储。
scanf("%lf%lf%lf",&a,&b,&c);//输入三条边。
if(a+b>c&&a+c>b&&b+c>a)//根据定理进行判断。
printf("可以组成三角形\n");//输出结果
else
printf("无法组成三角形\n");
return 0;
}
#include
#include
void main()
{
float a,b,c,max;
printf("请分别输入三角形的三边长:");
scanf("%f%f%f",&a,&b,&c);
max=a;
if(b>max)
max=b;
if(c>max)
max=c;
if(a+b>c&&b+c>a&&a+c>b)
{
if(a==b&&b==c&&a==c)
printf("等边三角形\n");
else if(a!=b&&a!=c&&b!=c&&(max*max==a*a+b*b||a*a+c*c||b*b+c*c))
printf("直角三角形\n");
else if(a==b||a==c||b==c&&(max*max!=a*a+b*b||a*a+c*c||b*b+c*c))
printf("等腰三角形\n");
else if(a==b||a==c||b==c&&(max*max==a*a+b*b||a*a+c*c||b*b+c*c))
printf("等腰直角三角形\n");
else
printf("一般三角形\n");
}
else
printf("不能构成三角形\n");
}