找出vector里与我输入的值差值最小的值(数组可能存在多个值相同)
时间: 2024-03-20 19:42:50 浏览: 49
找出一堆数中的最小值
可以使用以下代码找到与输入值差值最小的值:
```cpp
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
vector<int> arr = {1, 3, 5, 7, 9};
int target = 6; // 假设输入的目标值为6
int min_diff = INT_MAX;
int result = -1;
for (int i = 0; i < arr.size(); i++) {
int diff = abs(arr[i] - target);
if (diff < min_diff) {
min_diff = diff;
result = arr[i];
}
}
cout << "与目标值最接近的值为:" << result << endl;
return 0;
}
```
上述代码中,我们遍历了整个数组,计算每个元素与目标值之间的差值,然后找到差值最小的元素并将其保存到result变量中,最后输出result即可。
阅读全文