判断一个数是否存在数组中。(即从键盘输入一个数,判断其是否在已 有数组中,数组元素的值可以在程序中直接给出,也可以从键盘输入。)(c++)
时间: 2024-12-23 07:15:18 浏览: 3
在C++中,可以使用`std::set`或者数组的`std::find()`函数来判断一个数是否存在于给定的数组中。以下是两种方法的例子:
**方法一:使用`std::set`(查找集合)**
```cpp
#include <iostream>
#include <set>
bool isNumberInArray(int array[], int size, int num) {
std::set<int> set(array, array + size); // 将数组转换成集合
return set.find(num) != set.end(); // 如果找到就返回true,否则返回false
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int size = sizeof(numbers) / sizeof(numbers[0]);
int input;
std::cout << "Enter a number: ";
std::cin >> input;
if (isNumberInArray(numbers, size, input)) {
std::cout << "The number exists in the array.\n";
} else {
std::cout << "The number does not exist in the array.\n";
}
return 0;
}
```
在这个例子中,我们首先将数组转换为`std::set`,然后使用`find()`函数检查指定的数字。
**方法二:使用`std::find()`(线性搜索)**
```cpp
#include <iostream>
#include <vector>
bool isNumberInArray(int array[], int size, int num) {
auto it = std::find(array, array + size, num);
return it != array + size; // 如果找到位置,则存在,否则不存在
}
// ... 主函数同上
```
这里我们直接在数组范围内查找目标数,如果找到了`it`等于数组结束位置则说明不存在。
阅读全文