萌新求助
#include<stdio.h>#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q; //disc用来存放判别式(b*b-4ac)的值
scanf("%1f%1f%1f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;
x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}
输入a=1b=3c=2
为什么输出的是x1= -1.#j ,x2=-1.#J
书上答案 x1=-1.00,x2=-2.00
编译器用的是VC++6.0
希望有前辈能帮助解惑,感谢 已找到原因,大意把1和l搞混了{:5_104:}
页:
[1]