✨【OpenJudge题集目录】MOOC课程程序设计与算法完整版✨
题目ID | 题目名称 |
---|---|
01 | 判断数正负 |
02 | 输出绝对值 |
03 | 奇偶数判断 |
04 | 奇偶ASCII值判断 |
05 | 整数大小比较 |
06 | 判断是否为两位数 |
07 | 收集瓶盖赢大奖 |
08 | 判断一个数能否同时被3和5整除 |
09 | 判断能否被3,5,7整除 |
10 | 有一门课不及格的学生 |
11 | 晶晶赴约会 |
12 | 骑车与走路 |
13 | 分段函数 |
14 | 计算邮资 |
15 | 最大数输出 |
16 | 三角形判断 |
17 | 判断闰年 |
18 | 点和正方形的关系 |
19 | 简单计算器 |
20 | 求一元二次方程的根 |
21 | 苹果和虫子2 |
1️⃣ 题目描述:分段函数
编写程序,计算下列分段函数y=f(x)的值。
y=-x+2.5; 0 <= x < 5
y=2-1.5(x-3)(x-3); 5 <= x < 10
y=x/2-1.5; 10 <= x < 20
2️⃣ 输入格式
一个浮点数N,0 <= N < 20
3️⃣ 输出格式
输出N对应的分段函数值:f(N)。结果保留到小数点后三位。
4️⃣ 样例输入
1.0
5️⃣ 样例输出
1.500
6️⃣ 解题思路
为了计算分段函数 ( y = f(x) ) 的值,根据不同区间选择不同的函数计算方法,我们可以通过以下步骤来实现:
分段函数定义
- 对于 0 ≤ x < 5 0 \leq x < 5 0≤x<5: y = − x + 2.5 y = -x + 2.5 y=−x+2.5
- 对于 5 ≤ x < 10 5 \leq x < 10 5≤x<10: y = 2 − 1.5 ( x − 3 ) ( x − 3 ) y = 2 - 1.5(x - 3)(x - 3) y=2−1.5(x−3)(x−3)
- 对于 10 ≤ x < 20 10 \leq x < 20 10≤x<20: y = x 2 − 1.5 y = \frac{x}{2} - 1.5 y=2x−1.5
- 读取输入:读取一个浮点数 N N N。
- 根据
N
N
N 的值选择合适的分段函数:
- 如果 0 ≤ N < 5 0 \leq N < 5 0≤N<5,计算 y = − N + 2.5 y = -N + 2.5 y=−N+2.5。
- 如果 5 ≤ N < 10 5 \leq N < 10 5≤N<10,计算 y = 2 − 1.5 ( N − 3 ) ( N − 3 ) y = 2 - 1.5(N - 3)(N - 3) y=2−1.5(N−3)(N−3)。
- 如果 10 ≤ N < 20 10 \leq N < 20 10≤N<20,计算 y = N 2 − 1.5 y = \frac{N}{2} - 1.5 y=2N−1.5。
- 输出结果:将结果保留到小数点后三位并输出。
7️⃣ 代码
#include <stdio.h>
int main() {
float N, y;
// 读取输入的浮点数
scanf("%f", &N);
// 判断N所属的区间,并计算对应的y值
if (N >= 0 && N < 5) {
y = -N + 2.5;
} else if (N >= 5 && N < 10) {
y = 2 - 1.5 * (N - 3) * (N - 3);
} else if (N >= 10 && N < 20) {
y = N / 2 - 1.5;
}
// 输出结果,保留三位小数
printf("%.3f\n", y);
return 0;
}
⏪ 上一题 | 下一题 ⏩ |
---|