一道计算三段函数的题,不知道哪里出错了

img

img

img

一道三段函数的题,不知道代码哪里出问题了,应该怎么修改,就是输入x求y的值。

if语句后面不要加分号啊
加了分号,后面的代码行就不是if代码块的语句了。
另外也不能if(1<=x<10),只能是if(x>=1 && x<10)
如此修改即可:

int main()
{
     double x,y;
     printf("请输入x:\n");
     scanf("%lf",&x);
     if(x<1)
        y=x;
     else if(x<10)
        y=2*x-1;
     else 
        y=3*x-11;
     printf("%lf",y);
     return 0;
}

if(1<=x<10)不要这么写
改成if(1<=x && x< 10)


然后if后面的分号去掉


scanf和printf中用%d,scanf("%d", &x)

兄弟,你把scanf和printf后面的%f换成%lf应该就行了。

代码有3处错误,修改如下:(修改部分有注释)

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

int main()
{
    double x, y;
    printf("请输入x:\n");
    scanf("%lf", &x); //修改1 if改为lf
    if (x < 1) //; 修改2,删掉分号
    {
        y = x;
        printf("%f", y);
    }
    if (1 <= x && x < 10) //修改3 或者改为 else if( x<10)
    {
        y = 2 * x - 1;
        printf("%f", y);
    }
    if (x >= 10)
    {
        y = 3 * x - 11;
        printf("%f", y);
    }
    return 0;
}