C语言初学者,c++问题,一个算一元二次方程的代码,为什么提示有4个错误,求高人解答

一个算一元二次方程的代码
代码如下:
# include<stdio.h>
# include<math.h>
int main(void)
{
//把三个系数保存在计算机中
int a =1;
int b =2;
int c =3;
double delta; //delta存放的是b*b-4*a*c
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= %f",x1,x2);
}
else if(delta==0)
{
x1=(-b)/(2*a)
x2=x1;
printf("该一元二次方程有一个唯一解,x1=x2= %f\n",x1,x2);
}
else
{
printf("无解\n")
}
return 0;
}

提示有4个错误,0个警告,
请问哪里出错了?

第1个回答  2012-08-06
你有四个地方没有加分号,
第一个if里面的X1和X2这两行结尾没加“;”,还有else if内X1这行结尾没加“;”最后一个printf这行最后没有加分号。
第2个回答  2012-08-06
程序写得很好,思路很清晰。
但有四句后面没有分号:
x1=(-b + sqrt(delta))/(2*a)
x2=(-b - sqrt(delta))/(2*a)
x1=(-b)/(2*a)
printf("无解\n")
四句后面缺少分号 ;追问

解决了,谢谢,
请问分号在c语言中起什么作用?
为什么那么重要?

追答

断句,表示这一句到这里完整了。如果没有分号,即使你换行了还认为你是同一句。
比如调用函数,你可以这么写:
fun(参数1, //参数1的作用是什么
参数2, //参数2的作用是什么
参数3);
这和fun (参数1,参数2,参数3);的写法是一样的。

本回答被提问者和网友采纳
相似回答