在数组中查找指定元素:输入一个正整数 n(0<n<=10),然后输入 n 个整数存入数组 a 中, 再输入一个整数 x,在数组 a 中查找 x,如果找到则输出相应元素的最小下标(下标从 0 开始), 否则输出“not found”。要求定义并调用函数 search(list, n, x),它的功能是在数组 list 中查找元素 x,若找到则返回相应元素的最小下标(下标从 0 开始),否则返回-1。试编写相应程序。
时间: 2023-05-31 19:20:20 浏览: 348
丢失的最小正整数leetcode-interview-algorithm:面试时的JS算法
### 回答1:
题目要求在一个整数数组中查找指定元素,如果找到则输出相应元素的最小下标,否则输出“not found”。需要自定义函数search(list, n, x),其功能是在数组list中查找元素x,并返回相应元素的最小下标,如果找不到则返回-1。具体实现可以通过循环遍历数组中的元素,找到相应元素后返回下标即可。
### 回答2:
本题要求在数组中查找指定元素,并输出其最小下标,如果没有找到则输出 “not found”。因此,我们可以定义一个函数 search(list, n, x),该函数通过遍历数组 list,判断其中是否存在元素 x。如果存在,则返回最小下标,否则返回 -1。
函数定义如下:
```
int search(int list[], int n, int x){
for(int i=0; i<n; i++){
if(list[i] == x){
return i;
}
}
return -1;
}
```
接下来在主函数中读入 n 个整数并存入数组 a 中,再输入指定元素 x,并调用函数 search(list, n, x) 查找 x 在数组中的最小下标,最后按格式输出即可。
完整代码如下:
```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(){
int n, x;
cin >> n;
int a[n];
for(int i=0; i<n; i++){
cin >> a[i];
}
cin >> x;
int idx = search(a, n, x);
if(idx == -1){
cout << "not found" << endl;
}else{
cout << idx << endl;
}
return 0;
}
```
我们可以用以下数据测试程序:
输入:
```
5
3 4 1 7 2
4
```
输出:
```
1
```
又输入:
```
6
8 6 4 7 2 1
5
```
输出:
```
not found
```
### 回答3:
程序思路如下:
1.先定义函数 search(list, n, x)。
2.在函数中,遍历数组 list,如果找到了相应元素 x,就返回该元素的最小下标,否则返回 -1。
3.在主函数中,先输入数组长度 n,然后输入 n 个整数存入数组 a 中,接着输入一个整数 x。
4.调用函数 search(a, n, x)。
5.根据函数返回的值判断是否找到,如果找到则输出最小下标,否则输出“not found”。
代码如下:
```python
def search(list, n, x):
for i in range(n):
if list[i] == x:
return i
return -1
n = int(input())
a = []
for i in range(n):
a.append(int(input()))
x = int(input())
index = search(a, n, x)
if index != -1:
print(index)
else:
print("not found")
```
测试:
输入:
5
1 3 5 7 9
7
输出:
3
阅读全文