C语言:判断三角形是否为直角三角形

#include<iostream>intmain(){inta,b,c;scanf("%d%d%d",&a,&b,&c);if(a>b+c)printf("notatr... #include<iostream>
int main()
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c);
if(a > b+c)printf("not a triangle\n");
else if(b > a+c)printf("not a triangle\n");
else if(c > b+c)printf("not a triangle\n");
else if(c^2 == a^2 + b^2)printf("yes\n");
else if(b^2 == a^2 + c^2)printf("yes\n");
else if(a^2 == c^2 + b^2)printf("yes\n");
else
printf("no\n");
system("pause");
return 0;
}
为何输出结果都是YES?
请问怎么回事.
谢谢.
展开
 我来答
外卖加盒饭
推荐于2017-12-16 · TA获得超过115个赞
知道答主
回答量:25
采纳率:0%
帮助的人:17.1万
展开全部
首先是输入3个数,即三角形三条边,要有等于才行
前面3个条件满足,才能构成三角形;否则不是三角形
然后判断,是否有满足直角形的条件;只要有两个边得平方等于另一个边得平方;即使直角三角
形;输出yes
你把最后两个语句去掉看看,还有 else if(c > b+c)printf("not a triangle\n");
你打错了
追问
那里打错了.
难怪老输不出没有这样三角形.
还有
请问最后哪两句去掉?
追答
是c>b+a;让后照他们上边两位说的做,有问题再问啊
snake406635029
2011-08-07 · TA获得超过168个赞
知道答主
回答量:109
采纳率:0%
帮助的人:67.2万
展开全部
首先你判断时应该是 a>=b+c,后面也要加等号,然后就是逻辑问题,就算不是三角形,数值上刚好满足你后3个判断中的一个,也会有yes,所以改改吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
burkwen
2011-08-07 · TA获得超过2523个赞
知道大有可为答主
回答量:1104
采纳率:100%
帮助的人:669万
展开全部
两个问题
>改成>=
a^2改成a*a,类推。你试试就知道,a^2不是a的平方。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式