c语言利用指针求数组的最大值与最小值
时间: 2023-11-04 15:01:44 浏览: 201
可以使用指针遍历数组,找到最大值与最小值。具体实现如下:
```c
#include <stdio.h>
void find_min_max(int arr[], int len, int *min, int *max) {
// 初始值设为第一个元素
*min = arr[0];
*max = arr[0];
// 遍历数组
for (int i = 1; i < len; i++) {
if (arr[i] < *min) {
// 如果当前元素比最小值还小,就更新最小值
*min = arr[i];
} else if (arr[i] > *max) {
// 如果当前元素比最大值还大,就更新最大值
*max = arr[i];
}
}
}
int main() {
int arr[] = {3, 1, 5, 2, 4};
int len = sizeof(arr) / sizeof(arr[0]);
int min, max;
find_min_max(arr, len, &min, &max);
printf("最小值为:%d,最大值为:%d", min, max);
return 0;
}
```
输出:
```
最小值为:1,最大值为:5
```
相关问题
C语言利用指针方法求数组的最大值和最小值
可以使用指针方法来求解数组的最大值和最小值,具体的实现方法如下:
```c
#include <stdio.h>
void findMinMax(int* arr, int size, int* max, int* min) {
*max = *min = arr[0]; // 初始化最大值和最小值为数组的第一个元素
for (int i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
}
if (arr[i] < *min) {
*min = arr[i];
}
}
}
int main() {
int arr[] = { 3, 5, 1, 8, 2 };
int size = sizeof(arr) / sizeof(int);
int max, min;
findMinMax(arr, size, &max, &min);
printf("Max value: %d\n", max);
printf("Min value: %d\n", min);
return 0;
}
```
在这个例子中,`findMinMax` 函数接受一个整型数组的指针 `arr`、数组的大小 `size`,以及两个整型指针 `max` 和 `min`。在函数内部,我们用 `*max` 和 `*min` 来引用指针所指向的值,也就是数组的最大值和最小值。在循环中,我们遍历整个数组,如果发现比当前最大值还大的元素,则更新最大值;如果发现比当前最小值还小的元素,则更新最小值。最后,我们通过 `&max` 和 `&min` 将最大值和最小值的地址传递给 `findMinMax` 函数,最终输出数组的最大值和最小值。
c语言利用指针方法,求数组中最大值和最小值
可以使用指针遍历数组并比较元素大小来求解数组的最大值和最小值,以下是示例代码:
```c
#include <stdio.h>
void findMinMax(int *arr, int size, int *min, int *max) {
// 初始化最小值和最大值为数组第一个元素
*min = *max = *arr;
for (int i = 1; i < size; i++) {
if (*(arr + i) < *min) {
*min = *(arr + i);
}
if (*(arr + i) > *max) {
*max = *(arr + i);
}
}
}
int main() {
int arr[] = {3, 1, 6, 2, 8, 4};
int size = sizeof(arr) / sizeof(int);
int min, max;
findMinMax(arr, size, &min, &max);
printf("最小值为:%d\n", min);
printf("最大值为:%d\n", max);
return 0;
}
```
在上述代码中,`findMinMax` 函数接收一个整型数组指针 `arr`、数组大小 `size`、一个指向最小值的指针 `min` 和一个指向最大值的指针 `max`。函数中首先将最小值和最大值初始化为数组中的第一个元素,然后遍历数组并比较元素大小,如果当前元素比最小值小,则更新最小值指针所指向的值;如果当前元素比最大值大,则更新最大值指针所指向的值。最后在 `main` 函数中调用 `findMinMax` 函数,并输出最小值和最大值。