C语言 判断是否能构成三角形,哪错了——

#include "stdio.h"
float max(float a,float b)
{
if (a>b)
return a;
else
return b;
}
int main()
{
float a,b,c,n,m;
scanf("%f%f%f",a,b,c);
n=max(a,b);
m=max(n,c);
if(m=a)
n=b+c;
else if(m=b)
n=a+c;
else(m=c);
n=a+b;
if(m<n)
printf("yes");
else
printf("no");
return 0;
}

第1个回答  2014-05-07
错了三个地方 一:scanf("%f%f%f",a,b,c); ==》 scanf("%f%f%f",&a,&b,&c); 不然是输入不进去的。
二 :if(m=a) else if(m=b) else(m=c); ==》if里面是判断 不是赋值 所以应该用’==‘ 其次 最后一个else后面你用了’;‘ 用这个了后面的语句当没有!
三 你只判断了和 还有差呢?

望采纳!追问

那为什么大于小于就可以直接用 这个,是不是也得=这样?

追答

>=是大于等于的吧 只能说这是规定 ==表示等于=表示赋值!

本回答被提问者采纳
第2个回答  2014-05-07
if(m=a)
n=b+c;
else if(m=b)
n=a+c;
else(m=c);

判断相等使用的是 == 而不是 = ,而且 else后面是没有()的。

另外,三角形的判断是两边之和大于第三边,两边之差小于第三边 你只判断了和啊追问

两短边之和大于长边不就行了,我前边那些不就是判断这个的。还有就是把=改成==后还是一运行就直接出警告

第3个回答  2014-05-07
if里的=改为==。=是赋值,==才是判断
第4个回答  2014-05-07
3个if语句括号中的等号为比较符号,判断是否相等,用==。
第5个回答  2014-05-07
== 不是 =
相似回答