问题描述
- 一元二次方程C语言编写问题
-
#include <stdio.h> #include <math.h> void main() {float abc; scanf(""%f%f%f""abc); if(b*b-4*a*c<0) printf(""无实根 ""); if(b*b-4*a*c==0) printf(""%.4f %.4f ""-b/2*a-b/-2*a); if(b*b-4*a*c>0) printf(""%.4f %.4f ""(-b+sqrt(b*b-4*a*c))/2*a(-b-sqrt(b*b-4*a*c))/2*a); }
这是我编写的程序,但是运行出来结果无求大神帮忙看下咋回事
解决方案
这是我发现的错误在scanf那里没使用地址符
解决方案二:
C语言编写简单的一元二次方程
C语言 求解一元二次方程
解决方案三:
#include
#include
void main()
{float abc;
scanf(""%f%f%f""&a&b&c);
if(b*b-4*a*cprintf(""无实根
"");
if(b*b-4*a*c==0)
printf(""%.4f
%.4f
""-b/2*a-b/-2*a);
if(b*b-4*a*c>0)
printf(""%.4f
%.4f
""(-b+sqrt(b*b-4*a*c))/2*a(-b-sqrt(b*b-4*a*c))/2*a);
}
解决方案四:
scanf(""%f%f%f""abc); 没有“&”,
上面的老胸说的对
解决方案五:
仔细看错误.在判断实数根的的时候(b*b-4*a*c符啦, #include#include
int main()
{
double pqtx1x2;
int abc;
printf(""输入abc的值
"");
scanf(""%d%d%d""&a&b&c);
t=b*b-4*a*c;
q=-b/2*a;
p=sqrt(b*b-4*a*c)/(2*a);
if(t>0)
{
x1=q+p;
x2=q-p;
printf(""x1=%lfx2=%lf
""x1x2);
}
else if(t==0)
{
x1=x2=q;
printf(""x1=%lfx2=%lf
""x1x2);
}
else
{
printf(""该方程无解
"");
}
return 0;
}