什么错误啊,难道还要重写输出符

就一个个小问题,但是还是找不出问题
我觉得这一小段代码不需要太难的程序,奈何我刚学,啥也不会

img

img

else if(-1<x<1)改为 else if(x>-1 && x<1)
最后是cout<<y;

C++ 我不太会,我给你看个 C 的示例吧:

#include <stdio.h>
#include <math.h>

int main(void)
{
    // 定义变量 x, y
    double x, y = 0.0d;
    printf("请输入x的值:\n");
    scanf("%lf", &x);
    // 分段 if 判断
    if(x >= 1) {
        y = sin(x) * sin(x);
    } else if(x > -1 && x < 1) {
        y = 1.0 / (pow(x + 1, 2.0 / 3.0));
    }  else 
    if (x <= -1) {
        y = (2.0 * x) + cos(x);
    } 
    // 输出对应 y 的值
    printf("y = %f\n", y);

    return 0;
}

你的代码是这里有问题

img

else if(-1<x<1) 改为 else if (x > -1 && x < 1) 就行,因为如果要同时判断两个条件都满足,应该使用逻辑运算符 &&