#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,x1,x2,d,x,y;
printf("please enter");
scanf("%f,%f,%f",&a,&b,&c);
if (a==0)
printf("It's F");
esle
{
d=b*b-4*a*c;
if (d==0)
{
x1=-(b/z*a);
x2=x1;
printf("%f%f",x1,x2);
}
esle
if(d>0)
{
x1=(-b+sprt(d))/(2*a);
x2=(b+sqrt(d))/(2*a);
printf("%f%f",x1,x2);
}
esle{
x=-(-b+sprt(d))/(2*a);
y=-(-b-sprt(d))/(2*a);
printf("%f%f",x,y);
}
}
}
跪求C语言高手,帮我看看这道题,求解一元二次方程,我就不知道是那错了,下面是我的做法。
答案:1 悬赏:10 手机版
解决时间 2021-04-17 00:20
- 提问者网友:箛茗
- 2021-04-16 00:31
最佳答案
- 五星知识达人网友:人類模型
- 2021-04-16 00:39
有两点错误,
1、if (d==0)
{
x1=(-b)/(2*a);
x2=x1;
printf("%f%f",x1,x2);
}
2、d如果小于0,方程只有复数根,
sprt(d)只能计算正数,就是要用sprt(),d必须大于0
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯