error C2143: syntax error : missing ';' before 'constant'求大神指教、、哪里错了

int main(void)
{
int a=1;
int b=2;
int c 3;
double delta;
double x1;
double x2;
delta = b*b - 4*a*c;

if (delta>0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b - sqrt(delta)) / (2*a);
printf("该一元二次方程有两个解,x1 = %f, x2 = %\n", x1,x2);
}
else if (delta=0)
{
x1 = -b / (2*a);
x1 = x2;
printf("该一元二次方程有唯一解,x1 = x2 = %\n", x1,x2);
}
else if (delta<0)
{
printf("该一元二次方程无解%\n");
}
return 0;
}

int main(void)
{   
int a=1;
    int b=2;
int c 3;    //改成int c=3;
double delta;
double x1;
double x2;
delta = b*b - 4*a*c;

if (delta>0)
{
  x1 = (-b + sqrt(delta)) / (2*a);
  x2 = (-b - sqrt(delta)) / (2*a);
//   printf("该一元二次方程有两个解,x1 = %f, x2 = %\n", x1,x2);
  printf("该一元二次方程有两个解,x1 = %f, x2 = %f\n", x1,x2);
}
else if (delta=0)
{
  x1 = -b / (2*a);
  x1 = x2;    //改成x2 = x1;
//   printf("该一元二次方程有唯一解,x1 = x2 = %\n", x1,x2);
  printf("该一元二次方程有唯一解,x1 = x2 = %f\n", x1);
}
else if (delta<0)
{
printf("该一元二次方程无解%\n");
}
    return 0;
}

有4处小错

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

代码:

if (delta>0)
{
  x1 = (-b + sqrt(delta)) / (2*a);
  x2 = (-b - sqrt(delta)) / (2*a);
  printf("该一元二次方程有两个解,x1 = %f, x2 = %\n", x1,x2); //这里单独的%是什么。。。应该是%f
}
else if (delta=0)
{
  x1 = -b / (2*a);
  x1 = x2;
  printf("该一元二次方程有唯一解,x1 = x2 = %\n", x1,x2);//同上
}
else if (delta<0)
{
printf("该一元二次方程无解%\n");//这里没有%
}

\n是不需要%的。你可能记错了

大家正在搜