1. 程式人生 > >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\n", y);

    return 0;
}