c语言问题,错误提示我看不懂

--------------------Configuration: 2 - Win32 Debug--------------------
Compiling...
2.cpp
C:\Users\Momo\Desktop\2.cpp(7) : warning C4390: ';' : empty controlled statement found; is this the intent?
C:\Users\Momo\Desktop\2.cpp(9) : error C2065: 'eles' : undeclared identifier
C:\Users\Momo\Desktop\2.cpp(9) : error C2143: syntax error : missing ';' before 'if'
C:\Users\Momo\Desktop\2.cpp(9) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
C:\Users\Momo\Desktop\2.cpp(9) : error C2106: '=' : left operand must be l-value
C:\Users\Momo\Desktop\2.cpp(9) : error C2106: '=' : left operand must be l-value
C:\Users\Momo\Desktop\2.cpp(11) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
C:\Users\Momo\Desktop\2.cpp(11) : error C2106: '=' : left operand must be l-value
C:\Users\Momo\Desktop\2.cpp(14) : error C2143: syntax error : missing ';' before 'if'
C:\Users\Momo\Desktop\2.cpp(17) : error C2146: syntax error : missing ';' before identifier 'printf'
执行 cl.exe 时出错.

2.obj - 1 error(s), 0 warning(s)

这如何看出是哪错了
源代码是
#include <stdio.h>
void main()
{
int a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a);
printf("不能构成三角形\n");
eles
if (a=b||a=c||b=c)
{
if (a=b&&b=c)
printf("等边三角形\n");
eles
if(a*a==(b*b+c*c)||b*b==(b*b+c*c)||c*c==(b*b+c*c))
printf ("等腰直角三角形\n");
eles
printf("该三角形是等腰三角形\n");
}
if(a*a==(b*b+c*c)||b*b==(a*a+c*c)||c*c==(b*b+a*a))
printf("直角三角形\n");
else
printf ("不等边三角形\n");
}

错误都改过来了,自己看下,另外,else都被你写成了eles

#include <stdio.h>
void main()
{
int a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a) /*这里的分号去掉*/
printf("不能构成三角形\n");
else
if (a==b||a==c||b==c)/*应该是==,后面的也是一样*/
{
if (a==b&&b==c)
printf("等边三角形\n");
else
if(a*a==(b*b+c*c)||b*b==(b*b+c*c)||c*c==(b*b+c*c))
printf ("等腰直角三角形\n");
else
printf("该三角形是等腰三角形\n");
}
if(a*a==(b*b+c*c)||b*b==(a*a+c*c)||c*c==(b*b+a*a))
printf("直角三角形\n");
else
printf ("不等边三角形\n");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-07
void main()
{
int a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a) //把if后的分号去掉,第一个错误提示的是发现空的受控语句,有意义吗?就是指的这里的错误。
printf("不能构成三角形\n");
else //把eles改为else,你写错关键字了,第二条错误提示eles无法识别,就是这个问题
if (a==b||a==c||b==c) //把=改为==,后面提示=的左操作数必须是一个变量,就是这里的问题,因为你写成a=b||a=c结果是先计算b||a得到1,然后再把c的值赋给常量1,所以出错。
{
if (a==b&&b==c) //改=号
printf("等边三角形\n");
else //改正else
if(a*a==(b*b+c*c)||b*b==(b*b+c*c)||c*c==(b*b+c*c))
printf ("等腰直角三角形\n");
else //改正else
printf("该三角形是等腰三角形\n");
}
if(a*a==(b*b+c*c)||b*b==(a*a+c*c)||c*c==(b*b+a*a))
printf("直角三角形\n");
else
printf ("不等边三角形\n");

system("pause");
}
第2个回答  2010-04-07
1)int a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
int改为float,scanf语句直接写成scanf("%f%f%f",&a,&b,&c);
2)if(a+b<c||a+c<b||b+c<a);
if语句后不应该有“;”
3)eles写错喽应该是else呵呵。。。
4)if (a=b||a=c||b=c)
if (a=b&&b=c)
应该用“==”而不是赋值号“=”
第3个回答  2010-04-07
#include <stdio.h>
void main()
{
int a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a) //最好写成这样(a+b)< c, 容易看 还有多了个分号
printf("不能构成三角形\n");
else //else 写成了 eles
if (a==b||a==c||b==c) //"="是赋值号,"=="才是等于号
{
if (a==b&&b==c)
printf("等边三角形\n");
else
if(a*a==(b*b+c*c)||b*b==(b*b+c*c)||c*c==(b*b+c*c))
printf ("等腰直角三角形\n");
else
printf("该三角形是等腰三角形\n");
}
if(a*a==(b*b+c*c)||b*b==(a*a+c*c)||c*c==(b*b+a*a))
printf("直角三角形\n");
else
printf ("不等边三角形\n");
}
第4个回答  2020-03-17
错误都改过来了,自己看下,另外,else都被你写成了eles
#include
<stdio.h>
void
main()
{
int
a,b,c;
scanf("%f","%f","%f",&a,&b,&c);
if(a+b<c||a+c<b||b+c<a)
/*这里的分号去掉*/
printf("不能构成三角形\n");
else
if
(a==b||a==c||b==c)/*应该是==,后面的也是一样*/
{
if
(a==b&&b==c)
printf("等边三角形\n");
else
if(a*a==(b*b+c*c)||b*b==(b*b+c*c)||c*c==(b*b+c*c))
printf
("等腰直角三角形\n");
else
printf("该三角形是等腰三角形\n");
}
if(a*a==(b*b+c*c)||b*b==(a*a+c*c)||c*c==(b*b+a*a))
printf("直角三角形\n");
else
printf
("不等边三角形\n");
}
相似回答