返回信息流输入三角形边长,判断是不是直角三角形!
#include <iostream>
using namespace std;
float MAX(float a,float b,float c)
{
float z;
if(a>b)z=a;
else z=b;
if(z>c)z=z;
else z=c;
return (z);
}
float MIN(float a,float b,float c)
{
float z;
if(a>b)z=b;
else z=a;
if(z<c)z=z;
else z=c;
return (z);
}
int main()
{
float x,y,n;
cin>>x>>y>>n;
float m;
m=MAX(x,y,n);
float w;
w=MIN(x,y,n);
float p;
if(m>x&x>w)p=x;
else if(m>y&y>y)p=y;
else if(m>n&n>w)p=n;
else p=w;
if(m*m==p*p+w*w)cout<<"该三角形是直角三角形"<<p*w ;
else
cout<<"不是直角三角形"<<endl;
return 0;
}
输了3、4、5.
输出的是不是三角形
为什么啊!!![em5][em5][em5]
这是一条镜像帖。来源:北邮人论坛 / cpp / #85876同步于 2015/3/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
大能快来
ck199652
2015/3/10镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
if(m>x&x>w)p=x;
else if(m>y&y>y)p=y;
else if(m>n&n>w)p=n;
& 和 &&的区别你应该知道吧
况且没这么麻烦 在保证能组建成三角形的基础上 不用判断谁大谁小 直接算平方和 三个平方和 || 起来 不就行了
【 在 ck199652 的大作中提到: 】
: 输入三角形边长,判断是不是直角三角形!
: #include <iostream>
: using namespace std;
: ..................
你把(m*m-p*p-w*w)的值打印出来看看。
【 在 wangxiaobupt 的大作中提到: 】
: if(m>x&x>w)p=x;
: else if(m>y&y>y)p=y;
: else if(m>n&n>w)p=n;
: ...................
话说用浮点数进行位运算为什么没有报错呢?
因为楼主用的vc6.0吧 一般出现这种问题 我都会这么想
【 在 nuanyangyang 的大作中提到: 】
: 话说用浮点数进行位运算为什么没有报错呢?
【 在 wangxiaobupt 的大作中提到: 】
: if(m>x&x>w)p=x;
: else if(m>y&y>y)p=y;
: else if(m>n&n>w)p=n;
: ...................
致命的错误[em9]