【问题描述】输入一个正整数n(1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示Not found。要求定义和调用search(int list[ ],int n, int x),在数组list中查找元素x,若找到则返回相应的下标,否则返回-1,参数n代表数组list中元素的数量,试编写相应程序。 【样例输入】 5 12345 3 【样例输出】index=2
时间: 2024-01-22 09:21:00 浏览: 66
以下是一个可能的解法,其中search函数使用了循环实现线性查找:
```c++
#include <iostream>
using namespace std;
int search(int list[], int n, int x) {
for (int i = 0; i < n; i++) {
if (list[i] == x) {
return i;
}
}
return -1;
}
int main() {
const int MAX_N = 10;
int n, a[MAX_N], x;
cout << "请输入数组长度n(1<n<=10):";
cin >> n;
cout << "请输入" << n << "个整数:";
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cout << "请输入要查找的整数x:";
cin >> x;
int index = search(a, n, x);
if (index != -1) {
cout << "index=" << index << endl;
} else {
cout << "Not found" << endl;
}
return 0;
}
```
输入样例:
```
请输入数组长度n(1<n<=10):5
请输入5个整数:12 34 56 78 90
请输入要查找的整数x:56
```
输出样例:
```
index=2
```
输入样例:
```
请输入数组长度n(1<n<=10):3
请输入3个整数:2 4 6
请输入要查找的整数x:8
```
输出样例:
```
Not found
```
阅读全文