#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;
}
展开
 我来答
anhuishengshuc
推荐于2018-03-23 · TA获得超过217个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:314万
展开全部
有些精确度问题吧?!
#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什么意思?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
C的诱惑
2011-03-16 · TA获得超过226个赞
知道小有建树答主
回答量:102
采纳率:0%
帮助的人:95.5万
展开全部
#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型比较好!
经测试能得出正确结果!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
L_o_o_n_i_e
2011-03-15 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5086万
展开全部
scanf("%lf%lf%lf",&a,&b,&c);
printf("x1=%lf\nx2=%lf",x1,x2);

double 输入输出格式要用 %lf (小写 的字母 LF)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天下都是爷的
2011-03-15 · TA获得超过140个赞
知道答主
回答量:77
采纳率:0%
帮助的人:52万
展开全部
怎么了?
追问
比如输入1,2,1得到的是NO ANSWER
追答
你定义的abc是double,下面输入的格式控制符是%f。所以不对。你把double改成float就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式