c语言问题,本人新手,编了一个解方程的小程序,不知哪里出错,望指教。

2024-12-14 12:45:20
推荐回答(4个)
回答1:

# include
# include

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

printf("请依次输入a,b,c的值(中间用空格间隔):");
scanf("%lf %lf %lf",&a,&b,&c);

if (delta>0)
{
x1=(-b+sqrt(delta))/2*a;
x2=(-b-sqrt(delta))/2*a;
printf("有两个解:x1=%lf,x2=%lf",x1,x2);
}
else if (delta==0)
{
x2=x1=(-b+sqrt(delta))/2*a;
printf("有一个解:x1=x2=%lf",x1);
}
else if (delta<0)
{
printf("无解");
}

}

首先 你的输入状态好像有些不是英文状态 我已帮你改过
还有就是4ac 不能这样写
c语言环境没那么聪明

回答2:

你没定义那些变量就使用了,肯定会报错,再一个,就是 delta = b*b - 4ac;中的4ac应该改为4*a*c

回答3:

如果你是拷贝的,那么第一个算是4ac不对吧~是不是着急了没打“*”~
scanf("%lf %lf %lf",&a,&b,&c); 这个用%f就可以了吧~

回答4:

4abc 没有定义,如果是4*a*b*c 话,要把乘号(*)加进去