#include <stdio.h> #include <math.h> int main() { double a,b,c,p,q,disc,x1,x2; scanf("%f%f%f",&a,&b
有啥问题啊?得不到正确的解#include<stdio.h>#include<math.h>intmain(){doublea,b,c,p,q,disc,x1,x2;sc...
有啥问题啊?得不到正确的解
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,p,q,disc,x1,x2;
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%f\nx2=%f",x1,x2);
};
return 0;
} 展开
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,p,q,disc,x1,x2;
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%f\nx2=%f",x1,x2);
};
return 0;
} 展开
4个回答
展开全部
有些精确度问题吧?!
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,p,q,disc,x1,x2;
scanf("%lf %lf %lf",&a,&b,&c); // double类型的字节长度为8,float为4.
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%lf\nx2=%lf",x1,x2);
};
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c,p,q,disc,x1,x2;
scanf("%lf %lf %lf",&a,&b,&c); // double类型的字节长度为8,float为4.
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%lf\nx2=%lf",x1,x2);
};
return 0;
}
追问
z咋能改啊?
追答
z什么意思?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;
double p,q,disc,x1,x2;
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%f\nx2=%f",x1,x2);
};
return 0;
}
把a,b,c定义为float型,其他的变量定义为double型比较好!
经测试能得出正确结果!
#include <math.h>
int main()
{
float a,b,c;
double p,q,disc,x1,x2;
scanf("%f%f%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
printf("NO USEFULL ANSWER\n");
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p-q;
x2=p+q;
printf("x1=%f\nx2=%f",x1,x2);
};
return 0;
}
把a,b,c定义为float型,其他的变量定义为double型比较好!
经测试能得出正确结果!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf("%lf%lf%lf",&a,&b,&c);
printf("x1=%lf\nx2=%lf",x1,x2);
double 输入输出格式要用 %lf (小写 的字母 LF)
printf("x1=%lf\nx2=%lf",x1,x2);
double 输入输出格式要用 %lf (小写 的字母 LF)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么了?
追问
比如输入1,2,1得到的是NO ANSWER
追答
你定义的abc是double,下面输入的格式控制符是%f。所以不对。你把double改成float就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询