1051:分段函数时间限制: 1000 ms 内存限制: 65536 KB 提交数: 85055 通过数: 50254 【题目描述】编写程序,计算下列分段函数y=f(x)的值。结果保留到小数点后三位。 y=−x+2.5;0≤x<5 y=2−1.5(x−3)(x−3);5≤x<10 y=x2−1.5;10≤x<20 【输入】一个浮点数N(0≤N<20)。 【输出】输出 N对应的分段函数值:f(N))。结果保留到小数点后三位。 【输入样例】1.0 【输出样例】1.500 |
【思路分析】
- 首先,我们需要读取输入的浮点数N。
- 然后,我们使用if-else语句来判断N属于哪个区间,从而计算分段函数的值。
- 对于区间0 ≤ N < 5,我们可以使用y = -N + 2.5来计算分段函数的值。
- 对于区间5 ≤ N < 10,我们可以使用y = 2 - 1.5 * (N - 3) * (N - 3)来计算分段函数的值。
- 对于区间10 ≤ N < 20,我们可以使用y = N/2.0 - 1.5来计算分段函数的值。
- 最后,我们将结果保留到小数点后三位并输出。
【示例代码】
#include<bits/stdc++.h>
using namespace std;
int main()
{
double x, y; // 定义变量x和y,用于存储输入和输出值
cin >> x; // 读取输入的浮点数N
if (0 <= x && x < 5) // 判断属于哪个区间
{
y = -x + 2.5; // 计算分段函数的值
}
else if (5 <= x && x < 10) // 判断属于哪个区间
{
y = 2 - 1.5 * (x - 3) * (x - 3); // 计算分段函数的值
}
else if (10 <= x && x < 20) // 判断属于哪个区间
{
y = x / 2.0 - 1.5; // 计算分段函数的值
}
printf("%.3lf", y); // 将结果保留到小数点后三位并输出
}