求解答!为什么这段有关三角形的程序的输出不对
题目是:输入三角形3条边的长度值,判断是否能成为直角三角形的三个边长.如果可以,则输出Yes,如果不能,则输出No.如果根本无法构成三角形,则输出not a triangle.我的程序
程序代码:#include<stdio.h>
main()
{
int x,y,z,t;
scanf("%d",&x,&y,&z);
if (x>y) {t=x;x=y;y=t;}
if (x>z) {t=x;x=z;z=t;}
if (y>z) {t=y;y=z;z=t;}
if (x+y>z && x*x+y*y == z*z)
printf("Yes");
else if (x+y<z)
printf("not a triangle");
else
printf("No");
return 0;
}
输出结果总是not a triangle
求大佬解答,谢谢








