白夜叶 发表于 2021-3-20 17:30:18

萌新求助

#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
希望有前辈能帮助解惑,感谢

白夜叶 发表于 2021-3-21 09:37:02

已找到原因,大意把1和l搞混了{:5_104:}
页: [1]
查看完整版本: 萌新求助