C语言判断直角三角形
#include<stdio.h>#include<stdlib.h>main(){printf("\n请输入三角形三条边\n");floatx,y,z;scanf("%...
#include <stdio.h>
#include <stdlib.h>
main()
{
printf("\n请输入三角形三条边\n") ;
float x,y,z;
scanf("%f,%f,%f",&x,&y,&z);
if(x*x+y*y==z*z||x*x+z*z==y*y||y*y+z*z==x*x)
printf("\nyes");
else
printf("\nno");
system("pause");
}
我的问题是,如果我输入的是小数,0.6,0.8,1.那么程序告诉我不成立。这是为什么。整数的都是成立的。 展开
#include <stdlib.h>
main()
{
printf("\n请输入三角形三条边\n") ;
float x,y,z;
scanf("%f,%f,%f",&x,&y,&z);
if(x*x+y*y==z*z||x*x+z*z==y*y||y*y+z*z==x*x)
printf("\nyes");
else
printf("\nno");
system("pause");
}
我的问题是,如果我输入的是小数,0.6,0.8,1.那么程序告诉我不成立。这是为什么。整数的都是成立的。 展开
9个回答
展开全部
x,y,z定义为double型 就Ok了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1不是float值,1.0是float值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
浮点小数不精确,不能做相等比较,这个是浮点数的缺点,这个没有办法解决.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询