求助,谢谢了
为什么输入4,4,1时结果为X1=X2=-8.00#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,x1,x2,p,q,g;
scanf("%f,%f,%f",&a,&b,&c);
p=(-b)/2*a;
g=b*b-4*a*c;
q=sqrt(g)/2*a;
if(g>0)
{
x1=p+q;
x2=p-q;
printf("x1=%5.2f,x2=%5.2f\n",x1,x2);
}
if(g==0)
{
x1=p;
x2=p;
printf("x1=x2=%5.2f\n",x2);
}
if(g<0)
{
printf("no\n");
}
}
----------------解决方案--------------------------------------------------------
请问程序是做什么的呢?
----------------解决方案--------------------------------------------------------
求方程的根
----------------解决方案--------------------------------------------------------
你的数据类型定义的有些问题。
我给你改了一下:
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,x1,x2,p,q,g;
scanf("%lf%lf%lf",&a,&b,&c);
p=(-b)/2*a;
g=b*b-4*a*c;
q=sqrt(g)/2*a;
if(g>0)
{
x1=p+q;
x2=p-q;
printf("x1=%5.2f,x2=%5.2f\n",x1,x2);
}
if(g==0)
{
x1=p;
x2=p;
printf("x1=x2=%5.2f\n",x2);
}
if(g<0)
printf("no\n");
}
不过,我还有一个问题,你那个虚根不会求吗?
----------------解决方案--------------------------------------------------------
试试看,谢了先
----------------解决方案--------------------------------------------------------