我也是在Dev-C++里面运行的,按你给的代码可以运行,但是结果是错的,看编译日志,在这个标签:
因为你在scanf函数里面没有设置a,b,c的地址,按照你的算法改了如下,可以运行了。
#include <stdio.h>
#include <math.h>
int main(void){
double x1 , x2 , xx;
double a , b , c;
printf("我们将对一个一元二次方程ax*x+bx+c=0.求解\n现在请你给出a,b,c的值\n我们将给出解(如果有的话)\n");
printf("a = , b= , c=\n");
while(3==(scanf("%lf %lf %lf",&a,&b,&c))){
xx = b*b -4*a*c;
if(xx>=0){
printf("此方程有解\n");
x1 = (-b +sqrt(xx))/2*a;
x2 = (-b -sqrt(xx))/2*a;
if(xx){
printf("此方程有两个解,分别为%lf,%lf\n",x1,x2);
} else{
printf("此方程一个解,为%lf\n",x1);
}
}else{
printf("此方程无解,试试其他的吧\n");
}
}
return 0;
}