天天看點

CCF NOI1019. 分段函數 (C++)

1019. 分段函數

題目描述

編寫程式,計算下列分段函數 y = f(x) 的值(輸入資料為浮點數,輸出保留小數點後三位)。

CCF NOI1019. 分段函數 (C++)

輸入

輸入x。

輸出

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

樣例輸入

1

樣例輸出

3.500

資料範圍限制

0<=x<20

C++代碼
#include <iostream>
#include <iomanip>
#include <cassert>

using namespace std;

int main()
{
    float x;
    double fx;

    cin >> x;

    assert(x>=0 && x<20);

    if (x>=0 && x<5)
    {
        fx = x + 2.5;
    }
    else if (x>=5 && x<10)
    {
        fx = 2 - 1.5*(x-3)*(x-3);
    }
    else if (x>=10 && x< 20)
    {
        fx = x/2 - 1.5;
    }

    cout << setiosflags(ios::fixed);
    cout << setprecision(3) << fx << endl;

    return 0;
}
           

繼續閱讀