为什么运行结果有对有错啊

在运算1的时候对 在算0的时候不对 为什么啊 这个程序有哪不对嘛 各位朋友们帮帮忙🤭

img

img

img


#include"stdio.h"
#include"math.h"
#define pi 3.1415926
void main()
{
double x,y;
scanf("%lf",&x);

if(x<(-pi/2))
    y=2*x*x*x+3*cos(x)+5;
else
    if(x>=-pi/2&&x<pi/2)
        y=pow((x-1)/(x+2),3)+5*x;
    else y=sqrt(x+sin(3*x));

    printf("y的值为:%.2lf",y);

}



方便把代码复制出来不

你这个没有错哦,x=0,1代码走的都是pow函数所在分支,不过就是x=0时结果应为-0.125,你取了小数后两位收尾为-0.13