int main(void)
{
int a,b,c//保存三边数据
printf("请输入三角形三边:\n")
while (1)
{
scanf("%d %d %d",&a,&b,&c)//输入三边数据
if (((a+b)>c)&&((a+c)>b)&&((b+c)>a))//判断是否为三角形
{
printf("三角形三边为:%d,%d,%d\n",a,b,c)
break
}
else
{
printf("这不是三角形,请重新输入:\n")
}
}
//计算平方数
a = a * a
b = b * b
c = c * c
//判断是否为三角形
if((a==(b+c))||(b==(a+c))||(c==(a+b)))
{
printf("yes\n")
}
else
{
printf("No\n")
}
return 0;
}
首先是输入3个数,即三角形
三条
边,要有等于才行
前面3个条件满足,才能构成三角形否则不是三角形
然后判断,是否有满足
形的条件只要有两个边得
平方
等于另一个边得平方即使直角
三角
形输出yes
你把最后两个
语句
去掉看看,还有
else
if(c
>
b+c)printf("not
a
triangle\n")
你打错了
#include <stdio.h>#include <stdlib.h>
#include <math.h>
void main()
{
float a,b,c,temp
printf("请输入三个数:\n")
scanf("%f%f%f",&a,&b,&c)
printf("您输入的三个数是:\n")
printf("%f\t%f\t%f\n",a,b,c)
//判断哪个是最长的边
if(a<b)
{
temp = a
a = b
b = temp
}
if (a<c)
{
temp = a
a = c
c = temp
}
printf("现在的三个数:\n")
printf("%f\t%f\t%f\n",a,b,c)//现在a是最长边了
if ((a+b>c)&&(a+c>b)&&(b+c>a)&&fabs(a*a-b*b-c*c)<1e-6)//浮点数不能直接判断等于不等于
printf("是直角三角形!!\n")
else
printf("不是直角三角形!!\n")
system("pause")
}