用指针方法 实现在数组中找元素,若找到则输出在中的位置,否则输出“没有找到” 不使用自定义函数
时间: 2024-03-14 11:45:30 浏览: 23
好的,以下是使用指针方法在数组中查找元素的代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int target = 3;
int n = sizeof(arr) / sizeof(arr[0]);
int *p = arr;
int i;
for (i = 0; i < n; i++) {
if (*p == target) {
printf("找到了,位置是:%d\n", i);
break;
}
p++;
}
if (i == n) {
printf("没有找到\n");
}
return 0;
}
```
以上代码中,我们使用指针 `p` 指向数组的首地址,然后在循环中遍历整个数组,判断当前指针所指向的元素是否等于目标元素。如果找到了,就输出位置并退出循环;如果遍历完整个数组仍未找到,就输出“没有找到”。
相关问题
用指针方法在数组中找元素,若找到则输出在中的位置,否则输出“没有找到”
好的,这是一个简单的 C 语言问题。以下是示例代码:
```c
#include <stdio.h>
int findElement(int *arr, int size, int element) {
for (int i = 0; i < size; i++) {
if (*arr == element) {
return i;
}
arr++;
}
return -1;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int element = 3;
int index = findElement(arr, size, element);
if (index == -1) {
printf("没有找到\n");
} else {
printf("元素 %d 在数组中的位置是 %d\n", element, index);
}
return 0;
}
```
在这个例子中,我们定义了一个 `findElement` 函数来寻找数组中指定的元素。该函数接受三个参数:一个指向数组的指针,数组的大小和要查找的元素。在函数内部,我们使用 `for` 循环遍历数组并检查每个元素是否等于要查找的元素。如果找到了元素,函数将返回该元素在数组中的索引。如果没有找到元素,函数将返回 `-1`。在 `main` 函数中,我们将一个整数数组传递给 `findElement` 函数,并打印函数的返回值。
希望这能解决您的问题。
运用指针方法在数组𝑎中找元素𝑥,若找到则输出在𝑎中的位置,否则输出“没有找到”。
好的,同样是在 C 语言中,我们可以使用指针来实现在数组中查找元素的功能。具体的实现代码如下:
```c
#include <stdio.h>
#define ARRAY_SIZE 10
int main() {
double a[ARRAY_SIZE] = {1, -1.1, -2.2, 2.3, 3.4, -3.5, -4.6, 4.7, 5.8, -5.9};
double x = 3.4;
int index = -1;
double *p;
for (p = a; p < a + ARRAY_SIZE; p++) {
if (*p == x) {
index = p - a;
break;
}
}
if (index != -1) {
printf("元素 %lf 在数组中的位置为 %d\n", x, index);
} else {
printf("没有找到元素 %lf\n", x);
}
return 0;
}
```
这段程序的核心也是使用指针来遍历数组,不同的是使用指针变量 `p` 来遍历数组。在循环中,使用 `*p` 来访问指针所指向的数组元素,判断其是否等于要查找的元素𝑥。如果相等,则将当前指针 `p` 与起始指针 `a` 相减得到下标,并赋值给变量 `index`,并跳出循环。如果循环结束后 `index` 的值仍然为-1,则说明没有找到元素𝑥。
需要注意的是,这里的数组大小是通过宏定义 `ARRAY_SIZE` 来实现的,这样可以保证程序的可读性和可维护性。