求解答!为什么这段有关三角形的程序的输出不对
题目是:输入三角形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
求大佬解答,谢谢