#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,d,x1,x2,p,q;
printf("please enter a,b,c:");
scanf("%f,%f,%f",a,b,c);
if (a==0)
printf("it's F");
else
{
d=b*b-4*a*c;
if (d==0)
{
x1=(-b)/(2*a);
x2=x1;
printf("%5.2,%5.2f",x1,x2);
}
else
{
if (d>0)
{
x1=((-b)+sqrt(d))/(2*a);
x2=((-b)-sqrt(d))/(2*a);
printf("%5.2f,%5.2f",x1,x2);
}
else
{
p=(-b)/(2*a);
q=(-(sqrt(d)))/(2*a);
x1=p+q;
x2=p-q;
printf("%5.2f,%5.2f",x1,x2);
}
}
}
}
跪求C语言高手,帮我看看这道题,求解一元二次方程,我就不知道是那错了,下面是我的做法,程序没错,但答案有错。
- 提问者网友:遁入空寂
- 2021-07-16 20:55
- 五星知识达人网友:空山清雨
- 2021-07-16 22:09
#include<stdio.h>
#include<math.h>
main()
{
float a,b,c,d,x1,x2,p,q;
printf("please enter a,b,c:\n");
scanf("%f%f%f",&a,&b,&c);
if (a==0)
printf("it's F");
else
{
d=b*b-4*a*c;
if (d==0)
{
x1=(-b)/(2*a);
x2=x1;
printf("%5.2f,%5.2f",x1,x2);
}
else
{
if (d>0)
{
x1=((-b)+sqrt(d))/(2*a);
x2=((-b)-sqrt(d))/(2*a);
printf("%5.2f,%5.2f",x1,x2);
}
else
{
p=(-b)/(2*a);
q=(-(sqrt(d)))/(2*a);
x1=p+q;
x2=p-q;
printf("%5.2f,%5.2f",x1,x2);
}
}
}
}
- 1楼网友:爱难随人意
- 2021-07-16 23:39
#include<stdio.h> #include<math.h> main() { float a,b,c,d,x1,x2,p,q; printf("please enter a,b,c:"); scanf("%f,%f,%f",&a,&b,&c); //输入少了& if (a==0) printf("it's F"); else { d=b*b-4*a*c; if (d==0) { x1=(-b)/(2*a); x2=x1; printf("%5.2f,%5.2f",x1,x2); //少了个格式f } else { if (d>0) { x1=((-b)+sqrt(d))/(2*a); x2=((-b)-sqrt(d))/(2*a); printf("%5.2f,%5.2f",x1,x2); } else { p=(-b)/(2*a); q=(-(sqrt(d)))/(2*a); x1=p+q; x2=p-q; printf("%5.2f,%5.2f",x1,x2); } } } }