#C6A. 数值范围调整
数值范围调整
题意:
给定闭区间 。对于一个整数 :
- 如果 ,则将其调整为 ;
- 如果 ,则将其调整为 ;
- 否则保持 不变。
本题采用函数接口提交方式(Template)。请选择 C 语言,只提交下面函数的完整定义:
int clamp(int x, int l, int r);
其中,参数 x 表示待调整的整数,l 和 r 分别表示闭区间的左右端点。函数应返回调整后的整数。
系统会将你提交的函数定义插入下面代码的指定位置,再进行编译和运行:
#include <stdio.h>
int clamp(int x, int l, int r);
/* 在此处插入你提交的函数定义。 */
int main(void) {
int n, l, r;
scanf("%d%d%d", &n, &l, &r);
for (int i = 0; i < n; i++) {
int x;
scanf("%d", &x);
printf("%d\n", clamp(x, l, r));
}
return 0;
}
因此,你只需要实现 clamp 函数,不需要读入数据或输出结果,也不要提交 main 函数。
输入格式:
以下输入由系统提供的外部代码读入。
第一行三个整数 、、(,),分别表示待调整整数的数量和闭区间的两个端点。
第二行 个整数 (),表示需要调整的整数。
输出格式:
以下输出由系统提供的外部代码完成。
输出 行,第 行表示调用 clamp(x_i, l, r) 得到的返回值。
样例:
样例输入:
5 2 8
-1 2 5 8 10
样例输出:
2
2
5
8
8
样例解释:
闭区间为 。
,因此调整为 ;、 和 均位于区间内,保持不变;,因此调整为 。
相关
在下列比赛中: