【OpenJudge题集】编程基础之逻辑表达式与条件分支(十三)分段函数

在这里插入图片描述


【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 0x<5 y = − x + 2.5 y = -x + 2.5 y=x+2.5
  • 对于 5 ≤ x < 10 5 \leq x < 10 5x<10 y = 2 − 1.5 ( x − 3 ) ( x − 3 ) y = 2 - 1.5(x - 3)(x - 3) y=21.5(x3)(x3)
  • 对于 10 ≤ x < 20 10 \leq x < 20 10x<20 y = x 2 − 1.5 y = \frac{x}{2} - 1.5 y=2x1.5
  1. 读取输入:读取一个浮点数 N N N
  2. 根据 N N N 的值选择合适的分段函数
    • 如果 0 ≤ N < 5 0 \leq N < 5 0N<5,计算 y = − N + 2.5 y = -N + 2.5 y=N+2.5
    • 如果 5 ≤ N < 10 5 \leq N < 10 5N<10,计算 y = 2 − 1.5 ( N − 3 ) ( N − 3 ) y = 2 - 1.5(N - 3)(N - 3) y=21.5(N3)(N3)
    • 如果 10 ≤ N < 20 10 \leq N < 20 10N<20,计算 y = N 2 − 1.5 y = \frac{N}{2} - 1.5 y=2N1.5
  3. 输出结果:将结果保留到小数点后三位并输出。

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;
}

在这里插入图片描述

⏪ 上一题下一题 ⏩
  • 20
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋 之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值