如下图,C语言编程中,运行结果总是0.000000,0.000000?是代码哪里打错了吗?求高人指点,谢谢谢谢!
最后一句
printf("%lf,%lf\n",&x1,&x2);改为:
printf("%lf,%lf\n", x1, x2);&为取地址符,用在scanf的参数前,printf不用。
还要注意当方程无根或一个根时,虚根变量会出现浮点数异常,printf便不会将其打印出来
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-09-26
scanf("%lf,%lf,%lf", &a, &b, &c);
这一行, 把 %lf 之间的 逗号 去掉
scanf("%lf%lf%lf", &a, &b, &c);然后,
最后一行, 把 &x1, &x2 前的 & 去掉
printf("%lf,%lf\n", x1, x2);追问怎么变成了这样噢我的天
最后一行, 把 &x1, &x2 前的 & 去掉
printf("%lf,%lf\n", x1, x2);
第2个回答 2015-09-26
你最后一句输出写错了,x1,x2前面不要加取址符&追问
说一遍,你怎么定义的输入,你就怎么输入,比如你没改之前输入之间有逗号,那你就用逗号分隔,现在你修改了,没有逗号,就不要加逗号,直接121
第3个回答 2015-09-26
printf("%1f ,1f \n",x1,x2);试试追问
#include
#include
void main()
{
float a,b,c,delt,x1,x2;
printf("输入方程的三个系数:");
scanf("%f%f%f",&a,&b,&c);
delt = b*b-4*a*c;
x1 = (-b+sqrt(delt))/(2*a);
x2 = (-b-sqrt(delt))/(2*a);
printf("方程的解分别为:x1=%.2f x2=%.2f \n",x1,x2);
}