|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf,%lf,%lf",&a,&b,&c);
disc = b*b-a*4*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);
}
我输入:
3.0,4.0,5.0
x1=30853210449772612000000000000000000000000000000000000000000000.00
x2= 0.00
Press any key to continue
为什么会出现这个情况,是哪里错了??看了好久没看出来,求教!!!
建议写 int main(), return 0。这对调试有帮助。
scanf 里边是没有空格的,但你的输入却有空格,造成无效输入。里边在多重输入的情况,要有空格,才可吸收用户的无限空白之输入。
另外 3 4 5,是共轭复数根,double 不支持
最后,您的代码还是把该空格的地方空一下,不方便阅读~
|
|