[GESP202412 三级] 数字替换
2026-05-27 21:20:19
发布于:福建
12阅读
0回复
0点赞
题目大意
从 个数中找到比 小的数,替换成这些数里的最小数,再把比k大的数,替换成这些数里的最大数,并输出
思路
先输入这 和 ,然后再输入 个数,然后使用以前常用的板子,找到最大数和最小数,随后遍历这个数组,找到比 小的数和比k大的数进行替换
代码
#include <bits/stdc++.h>
using namespace std;
int mx = 1 , mn = 1 , n , k , a[100005];
int main( ) {
cin >> n >> k;
for (int i = 1 ; i <= n ; i++) {
cin >> a[i];
}
for (int i = 1 ; i <= n ; i++) {
if (mx < a[i]) {
mx = a[i];
}
if (mn > a[i]) {
mn = a[i];
}
}
for (int i = 1 ; i <= n ; i++) {
if (a[i] > k) {
a[i] = mx;
}
if (a[i] < k) {
a[i] = mn;
}
}
for (int i = 1 ; i <= n ; i++) {
cout << a[i] << " ";
}
return 0;
}
这里空空如也


有帮助,赞一个