c语言分段函数,细节注意,求解

已知:y是x的函数,

当x<10时,y=-x;

当x=10时,y=31;

当x>10,且x<=100时,y=3x-7;

当x>100时,y= x2-5x+1;

输入格式:
任意输入一个int类型的整数x。

输出格式:
输出为一个整数,单独占一行,即x对应的函数值。

输入样例:
5
结尾无空行
输出样例:
-5
结尾无空行

#include <stdio.h>
int main()
{
    int x=0,y=0;
    scanf("%d",&x);
    if(x<10)y=-x;
    else if(x==10) y=31;
    else if(x>10&&x<=100) y=3*x-7;
    else if(x>1000) y=x*x-5*x+1;
    printf("%d",y);
    return 0;
}

#include<stdio.h>
int main(){
    int x, y;
    scanf("%d", &x);
    if (x < 10)
    {
        y = -x;
    }
    else if (x == 10)
    {
        y = 31;
    }
    else if (x > 10 && x <= 100)
    {
        y = 3 * x - 7;

    }
    else {
        y = x * x - 5 * x + 1;
    }
    
    printf("%d\n", y);
    return 0;  
}

运行结果:

img


#include <stdio.h>
#include <string.h>
/*
当x<10时,y=-x;

当x=10时,y=31;

当x>10,且x<=100时,y=3x-7;

当x>100时,y= x2-5x+1;
*/
int y(int x) {   //y函数,作求值操作
    int res;
    if (x < 10)
    {
        res = -x;
    }
    else if(x = 10)
    {
        res = 31;
    }
    else if (x > 10 && x <= 100)
    {
        res = 3*x - 7;
    }
    else if (x > 100)
    {
        res = x*x - 5*x + 1;
    }
    return res;
}
int main()
{
    int x;
    scanf("%d",&x);
    printf("%d", y(x));
}

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

long long depSegmentFun(int x) {
if (x < 10) return -x;
if (x == 10) return 31;
if (x > 10 && x <= 100) return 3 * x - 7;
return x * x - 5 * x + 1;
}
int main() {
int x;
scanf("%d", &x);
printf("%lld", depSegmentFun(x));
return 0;
}
给采纳一下呗