C语言编程设计过程中输出结果总为0,这是为什么?
#include<stdio.h>#include<math.h>intmain(void){doublex,y;printf("Enterx:");scanf("%ld...
#include<stdio.h>
#include<math.h>
int main (void)
{
double x,y;
printf ("Enter x:");
scanf ("%ld",&x);
if (x<0){
y=pow(x,5)+2*x+1/x;
}
else {
y=sqrt(x);
}
printf ("y=%lf\n",y);
return 0;
}
为什么输出结果总是为0.000000 展开
#include<math.h>
int main (void)
{
double x,y;
printf ("Enter x:");
scanf ("%ld",&x);
if (x<0){
y=pow(x,5)+2*x+1/x;
}
else {
y=sqrt(x);
}
printf ("y=%lf\n",y);
return 0;
}
为什么输出结果总是为0.000000 展开
5个回答
展开全部
x是double,要用%lf输入,而不是ld
#include<stdio.h>
#include<math.h>
int main (void)
{
double x,y;
printf ("Enter x:");
scanf ("%lf",&x);//%lf
if (x<0){
y=pow(x,5)+2*x+1/x;
}
else {
y=sqrt(x);
}
printf ("y=%lf\n",y);
return 0;
}
展开全部
#include<stdio.h>
#include<math.h>
int main (void)
{
double x, y;
printf ("Enter x:");
//scanf ("%ld",&x);
scanf ("%lf", &x);
if (x < 0)
{
y = pow(x,5) + 2*x + 1/x;
}
else
{
y = sqrt(x);
}
printf ("y=%lf\n", y);
return 0;
}
将 ld 改为 lf 即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf ("%ld",&x);要改成:
scanf ("%lf",&x);
scanf ("%lf",&x);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf ("%lf",&x);
这一句写错了。
这一句写错了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是把1和l,或0和o混了?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询