新手用VC++编写C语言时候出现错误,请教高手错误出在哪里?应该怎样改,一个求一元二次方程解的程序。如下

# include <stdio.h>
# include <math.h>
int main(void)
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 2;
int c = 3;
double delta;//detla存放的是 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\nx1,x2);
)
else if(delta == 0)
{
x1 = (-b)/(2*a);
x2 = x1;//右边赋给左边
printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n",x1);
}
else if
{
printf("无解");
}

return ()
}

第1个回答  2012-06-10
你的方程a,b,c的系数固定不变始终为:1,2,3.方程始终无解,判断是多余的。修改源代码不如直接输入。那样更方便。
下面是我的代码:

#include "stdio.h"
#include "math.h"
int main(void)
{
float a,b,c;
float delta,x1,x2;
printf("请输入二次项的系数 a:");
scanf("%f",&a);
printf("\n请输入一次项的系数 b:");
scanf("%f",&b);
printf("\n请输入常数项 c:");
scanf("%f",&c); /*以上的代码为了输入方程的系数*/

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

if(a==0) /*为了排除二次项系数为零的情况*/
printf("方程的解为:x1=x2=%.1f\n",-c/b);

else if(delta>0) /*以下代码跟你的一样*/
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("该一元二次方程有两个解:x1=%.1f,x2=%.1f\n",x1,x2);
}
else if(delta==0)
{
x1=-b/(2*a);
printf("该一元二次方程有一个唯一解:x1=x2=%.1f\n",x1);
}
else
printf("无解\n");
return 0;
}
第2个回答  2012-06-10
int main(void) / /括号里没东西,改为int main()
~~~~~~~~~~~~~~~~~~~~~~~~·
if(delta>0)
( //"("改为"{"
x1 = (-b+sqrt(delta))/(2*a));
x2 = (-b-sqrt(delta))/(2*a);
printf("该一元二次方程有两个解",x1 = %f, x2 = %f\nx1,x2); /*改为printf("该一元二次方程有两个解,x1=%7.2f\x2=%7.2f\n",x1 , x2 ); */
) //修改符号
~~~~~~~~~~~~~~~~~~~~~~~~·
最后一个的else if 的if去掉不要
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
下面的return () 改为return 0;

PS:符号为英文符号哦~
第3个回答  2012-06-10
# include <stdio.h>
# include <math.h>
void main()
{
//把三个系数保存到计算机中
int a = 1; //=不表示相等,表示赋值
int b = 2;
int c = 3;
double delta;//detla存放的是 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\n",x1,x2);
}
else if(delta == 0)
{
x1 = (-b)/(2*a);
x2 = x1;//右边赋给左边
printf("该一元二次方程有一个唯一解, x1 = x2 = %f\n",x1);
}
else
{
printf("无解\n");
}
}本回答被提问者和网友采纳