请用c++实现数组的顺序查找功能,要求用户顺次输入数据,若查找成功返回数据下标,否则返回false
时间: 2024-04-29 20:24:19 浏览: 21
```c
#include <stdio.h>
int search(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i;
}
}
return -1; // 查找失败返回false
}
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int key;
printf("请输入要查找的元素:");
scanf("%d", &key);
int index = search(arr, n, key);
if (index != -1) {
printf("元素 %d 的下标为 %d\n", key, index);
} else {
printf("查找失败\n");
}
return 0;
}
```
相关问题
请用c++实现数组的顺序查找功能,要求查找成功返回数据下标,否则返回false
以下是用 C 语言实现数组顺序查找的示例代码:
```c
#include <stdio.h>
int search(int arr[], int n, int target);
int main() {
int arr[] = {3, 6, 1, 8, 2};
int n = sizeof(arr) / sizeof(arr[0]);
int target = 8;
int idx = search(arr, n, target);
if (idx == -1) {
printf("Not found\n");
} else {
printf("Found at index %d\n", idx);
}
return 0;
}
int search(int arr[], int n, int target) {
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
return i;
}
}
return -1;
}
```
该程序中,`search` 函数接收一个整型数组 `arr`、数组长度 `n` 和需要查找的目标值 `target`,返回目标值在数组中的下标,如果未找到则返回 -1。在 `main` 函数中,我们定义了一个整型数组 `arr`,并调用 `search` 函数进行查找,如果查找成功,输出目标值在数组中的下标,否则输出 "Not found"。
使用c++查找数组中最大值返回其下标
可以使用以下代码实现:
```c
#include <stdio.h>
int findMaxIndex(int arr[], int length) {
int maxIndex = 0;
for (int i = 1; i < length; i++) {
if (arr[i] > arr[maxIndex]) {
maxIndex = i;
}
}
return maxIndex;
}
int main() {
int arr[] = {1, 5, 3, 9, 7};
int length = sizeof(arr) / sizeof(arr[0]);
int maxIndex = findMaxIndex(arr, length);
printf("The index of the maximum value is: %d\n", maxIndex);
return 0;
}
```
在这个程序中,`findMaxIndex` 函数遍历数组并记录最大值的下标,然后返回该下标。在 `main` 函数中,我们调用 `findMaxIndex` 函数并打印最大值的下标。