当x大于或等于0时√x的值输出一直都是1.00,这个要怎么改啊。
源代码如下
#include
#include
int main(void)
{
double x,y;
scanf("%lf",&x);
printf("Enter x");
if(x<0){
y=sqrt(x+1)+2*x+1/x;
}else{
y=pow(x,1/2);
}
printf("y=f(%f)=%.2f\n",x,y);
return 0;
}
y=pow(x,1/2);
改为
y=pow(x,0.5);
或者
y = pow(x,1.0/2);
由于1/2是两个整数相除,是进行整除操作,所以1/2 = 0 ,不等于0.5
很简单y=pow(x,1/2);中的1/2结果是0,