C语言编译说 error C2143: syntax error : missing ';' before 'type'?可是没觉得缺分号啊。。求指教

#include <stdio.h>
#include <math.h>
void main()
{
int a,b,c;
scanf("%d,%d,%d",&a,&b,&c);
float delta,x1,x2;

delta=b*b-4*a*c;

if (delta>0)
{
x1=(-b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;

printf("2解,x1=%f,x2=%f",x1,x2);
}
else if(delta=0)
{
x1=(-b+sqrt(delta))/2*a;
x2=x1;
printf("1解,x1=x2=%f",x1);

}
else(delta<0)
{
printf("无解");
}

}

else(delta<0)
{
printf("无解");
}

这句中else后的括号中的东西可以删除,我用我的编译器可以编译追问

额。。。

追答

显示没错误

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-13

else后面少了个if

#include <stdio.h>

#include <math.h>

 void main()

 {

int a,b,c;

scanf("%d,%d,%d",&a,&b,&c);

float delta,x1,x2;

 

 delta=b*b-4*a*c;


if (delta>0)

{

x1=(-b+sqrt(delta))/2*a;

   x2=(-b-sqrt(delta))/2*a;

 

printf("2解,x1=%f,x2=%f",x1,x2);

}

else if(delta=0)

{

x1=(-b+sqrt(delta))/2*a;

x2=x1;

printf("1解,x1=x2=%f",x1);


}

else if(delta<0)

{

printf("无解");

}


}

追问

还是不行。。

追答

是逻辑问题还是语法问题

第2个回答  2014-03-13

else后面不能有条件  去掉即可  

else(delta<0)
{
printf("无解");
}

改成

else//不加条件
{
printf("无解");
}

追问

也不行。。还是1error

追答

把你的错误贴图

追问

相似回答
大家正在搜