C语言程序:三角形的边长abc,判断能否构成三角形。若能,请指出何种三角形(等腰、直角、一般三角形)
#include <stdio.h>
void main()
{
printf("请输入三角形的三个边长\n");
float a,b,c;
scanf("%f%f%f", &a, &b, &c);
if((a + b > c) && (a + c > b) && (b + c > c))
{
bool zhijiao = false;
bool dengyao = false;
if((a*a == b*b+c*c) || (b*b == a*a+c*c) || (c*c == b*b+a*a))
{
zhijiao = true;
}
if((a == b) || (b == c) || (c == a))
{
dengyao = true;
}
if(dengyao && zhijiao)
{
printf("边长为%f, %f, %f三角形构是等腰直角三角形\n", a,b,c);
}
else if(zhijiao)
{
printf("边长为%f, %f, %f三角形构是直角三角形\n", a,b,c);
}
else if(dengyao)
{
printf("边长为%f, %f, %f三角形构是等腰三角形\n", a,b,c);
}
else
{
printf("边长为%f, %f, %f三角形构是一般三角形\n", a,b,c);
}
}
else
{
printf("边长为%f, %f, %f三角形构不成三角形\n", a,b,c);
}
}
运行结果:
C语言程序
好吧,我不懂这个抱歉
判断是否构成三角形的条件是任意两边之和大于第三边,这里有个小技巧,就是输入abc后,拍一下序,那么判断的时候只要写一个就可以了,不用三个情况都写
能具体写出来参考一下吗,谢了哈~
你这个可以啊