c语言新手求根问题
用的是visual c++ 6.0,文件名是.c的,为什么不对呢?求ax^2+bx+c=0的根,a,b,c键盘输入,设b^2-4ac>0。
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}
输出值显示;
1.0,8.0,4.0
x1=-1.#J
x2=-1.#J
Press any key to continue
1:注意你代码对输入格式是什么要求,你输入的格式不对,建议直接 scanf("%lf %lf %lf",&a,&b,&c); 这样方便,如果区分不清abc的话,可以写注释或者在输入前输出一句话提醒自己,我个人感觉你这个输入格式很容易错
2:输出x1,x2是%lf,不是%f,你是double定义的
3:建议在用函数之前考虑disc是否大于等于0
页:
[1]