c语言问题,本人新手,编了一个解方程的小程序,不知哪里出错,望指教。
# include <stdio.h>
# include <math.h>
int main(void)
{
double a;
double b;
double c;
double delta;
double x1;
double x2;
delta = b*b - 4ac;
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("无解");
}
return 0;
}
# include <stdio.h>
# include <math.h>
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语言环境没那么聪明
你坦配没定义那些贺做变让拍指量就使用了,肯定会报错,再一个,就是 delta = b*b - 4ac;中的4ac应该改为4*a*c
如果你是拷贝的,那么第一个算是4ac不对吧~是不是着急了没打“昌桥*”~
scanf("%lf %lf %lf",&a,&b,&c); 这宏誉个用%f就蔽迅段可以了吧~
4abc 没有定义,如果是4*a*b*c 话,要把乘号(*)加进去