c语言,读入double型变量a,b,c,用if语句判断三角形类型.

问题描述:

c语言,读入double型变量a,b,c,用if语句判断三角形类型.
#include
#include
int main()
{
double a,b,c;
printf("Please Old2 input a,b,c:\n");
scanf("%lf%lf%lf",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
{
if(a==b==c);
printf("等边三角形");
else if(a==b!=c||a==c!=b||b==c!=b)
printf("等腰三角形");
else if(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
printf("直角三角形");
else if(a==b!=c||a==c!=b||b==c!=b&&a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
printf("等腰直角三角形");
else
printf("一般三角形");
}
else
printf("Old2 is stupid!\n");
return 0;
}
这样老说我有一个else没if对应,全删了就没错误,但是运行也判定不了,我想我是不是整个都写错了...高手求助!
1个回答 分类:综合 2014-12-13

问题解答:

我来补答
老师说错了,不是else没if对应,是其他问题
1 :if(a==b==c); 多了分号
2:if(a==b!=c||a==c!=b||b==c!=b) 应是if(((a==b)&&(b!=c))||((a==c)&&(b!=c))||((b==c)&&(b!=c)))
3: if(a==b!=c||a==c!=b||b==c!=b&&a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)
应是
if(((a==b)&&(b!=c))||((a==c)&&(b!=c))||((b==c)&&(b!=c))&&(a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b))
 
 
展开全文阅读
剩余:2000
下一页:生物 酶