1019. 分段函數
題目描述
編寫程式,計算下列分段函數 y = f(x) 的值(輸入資料為浮點數,輸出保留小數點後三位)。
輸入
輸入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;
}