c语言问题,为什么无论输入什么结果输出的X1=0,X2=0
#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,d,x1,x2;printf("一元二次方程ax^2+bx...
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,d,x1,x2;
printf("一元二次方程ax^2+bx+c=0\n");
printf("请输入a\n");
scanf("%lf",&a);
printf("请输入b\n");
scanf("%lf",&b);
printf("请输入c\n");
scanf("%lf",&c);
d=b*b-4*a*c;
if (d>0)
{
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
printf("此一元二次方程的解为\nx1=%lf,x2=%lf",&x1,&x2);
}
else
printf("此一元二次方程的解为虚根");
} 展开
#include<math.h>
void main()
{
double a,b,c,d,x1,x2;
printf("一元二次方程ax^2+bx+c=0\n");
printf("请输入a\n");
scanf("%lf",&a);
printf("请输入b\n");
scanf("%lf",&b);
printf("请输入c\n");
scanf("%lf",&c);
d=b*b-4*a*c;
if (d>0)
{
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
printf("此一元二次方程的解为\nx1=%lf,x2=%lf",&x1,&x2);
}
else
printf("此一元二次方程的解为虚根");
} 展开
7个回答
展开全部
童鞋,你注意一下你的printf("此一元二次方程的解为\nx1=%lf,x2=%lf",&x1,&x2);
你要输出的是x1 x2而不是它们的地址
把&去掉改成printf("此一元二次方程的解为\nx1=%lf,x2=%lf",x1,x2);
你要输出的是x1 x2而不是它们的地址
把&去掉改成printf("此一元二次方程的解为\nx1=%lf,x2=%lf",x1,x2);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样改#include<stdio.h>
#include<math.h>
void main()
{
double a, b, c, d, x1, x2;
printf("一元二次方程ax^2 bx c=0\n");
printf("请输入a\n");
scanf("%lf", &a);
printf("请输入b\n");
scanf("%lf", &b);
printf("请输入c\n");
scanf("%lf", &c);
d = b * b - 4 * a * c;
if (d >= 0)
{
x1 = (-b sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
printf("此一元二次方程的解为\nx1=%lf,x2=%lf", x1, x2);
}
else
printf("此一元二次方程的解为虚根");
}
#include<math.h>
void main()
{
double a, b, c, d, x1, x2;
printf("一元二次方程ax^2 bx c=0\n");
printf("请输入a\n");
scanf("%lf", &a);
printf("请输入b\n");
scanf("%lf", &b);
printf("请输入c\n");
scanf("%lf", &c);
d = b * b - 4 * a * c;
if (d >= 0)
{
x1 = (-b sqrt(d)) / (2 * a);
x2 = (-b - sqrt(d)) / (2 * a);
printf("此一元二次方程的解为\nx1=%lf,x2=%lf", x1, x2);
}
else
printf("此一元二次方程的解为虚根");
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
中-b应该是(-1)*b
然后把printf("此一元二次方程的解为\nx1=%lf,x2=%lf",&x1,&x2);中的&去了
而且。。你的d应该是>=0吧
x2=(-b-sqrt(d))/2*a;
中-b应该是(-1)*b
然后把printf("此一元二次方程的解为\nx1=%lf,x2=%lf",&x1,&x2);中的&去了
而且。。你的d应该是>=0吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个有两个问题,2*a需要用括号括起来,还是printf中x1和x2不需要取地址符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询