CCF NOI1019 分段函数

问题链接CCF NOI1019 分段函数




时间限制: 1000 ms  空间限制: 262144 KB

题目描述

  编写程序,计算下列分段函数y=f(x)的值(输入数据为浮点数,输出保留小数点后三位)。

  

输入

  输入x。

输出

  输出f(x)的值,答案保留三位小数。

样例输入

1

样例输出

3.500

数据范围限制

  0<=x<20



问题分析

  这个问题是一个简单的计算,一般而言应该将函数封装,这里只是给出一个简单实现。

程序说明

  因为输入值被严格限定了范围,分段函数的区间判定就可以简单一些。

要点详解
  • 写程序,需要结构逻辑简单清晰。
  • 浮点计算结果如何保留指定的小数位数是本题的一个要点。



100分通过的C语言程序:

#include <stdio.h>

#define X1 5
#define X2 10

int main(void)
{
    float x, y;

    scanf("%f", &x);

    if(x < X1)
        y = x + 2.5;
    else if(x < X2)
        y = 2 - 1.5 * (x - 3) * (x - 3);
    else
        y = x / 2 - 1.5;

    printf("%.3f
", y);

    return 0;
}



原文地址:https://www.cnblogs.com/tigerisland/p/7563925.html