九度 Online Judge 算法 刷题 题目1062:分段函数

时间:2023-02-12 12:44:27

题目1062:分段函数

题目描述:
编写程序,计算下列分段函数y=f(x)的值。
y=-x+2.5; 0<=x<2
y=2-1.5(x-3)(x-3); 2<=x<4
y=x/2-1.5; 4<=x<6
输入:
一个浮点数N
输出:
测试数据可能有多组,对于每一组数据,
输出N对应的分段函数值:f(N)。结果保留三位小数
样例输入:
1
样例输出:
1.500
来源:
2001年清华大学计算机研究生机试真题(第I套)

code

c语言实现

#include<stdio.h>
float f(float x) {
    if (x>=0.0 && x<=2.0)
        return -x+2.5;
    else if (x <=4.0)
        return 2.0-1.5*(x-3.0)*(x-3.0);
    else
        return x*0.5-1.5;
}
 
int main() {
    float N;
    while (scanf("%f",&N) == 1) {
        if (N<0.0 || N>6.0)
            continue;
        else
            printf("%.3f\n",f(N));
    }
    return 0;
}
 
/**************************************************************
    Problem: 1062
    User: langzimaizan
    Language: C
    Result: Accepted
    Time:10 ms
    Memory:912 kb
****************************************************************/