C语言用指针求15个元素的数组中的最大值以及最小值
时间: 2024-03-26 20:36:04 浏览: 105
当然可以使用指针来实现对数组的遍历,以下是使用指针求解的代码:
```c
#include <stdio.h>
int main() {
int arr[15] = {5, 2, 10, 8, 1, 6, 3, 9, 4, 7, 11, 13, 12, 15, 14};
int *p = arr; // 定义指向数组首元素的指针
int max = *p, min = *p; // 初始值为数组首元素
int i;
for (i = 1; i < 15; i++) {
if (*(p+i) > max) {
max = *(p+i);
}
if (*(p+i) < min) {
min = *(p+i);
}
}
printf("最大值为%d\n", max);
printf("最小值为%d\n", min);
return 0;
}
```
这段代码使用指针指向数组首元素,然后使用指针进行对数组的遍历,同时维护一个最大值和最小值变量,每次迭代都会与当前元素比较,如果当前元素比最大值变量大,则更新最大值变量,如果当前元素比最小值变量小,则更新最小值变量。最后输出最大值和最小值即可。
注:这里的数组元素是手动输入的,您可以根据实际需要进行修改。
相关问题
C语言中使用指针判断一个数组元素的最大值和最小值
在C语言中,使用指针可以方便地遍历数组并找到最大值和最小值。以下是一个简单的示例,假设我们有一个整型数组:
```c
#include <stdio.h>
#define SIZE 5 // 定义数组大小
// 函数声明,接收指向数组首元素的指针和数组长度
void findMinMax(int* arr, int size, int* min, int* max);
int main() {
int numbers[SIZE] = {4, 2, 9, 6, 1}; // 初始化数组
int min_num, max_num; // 存储最小值和最大值
findMinMax(numbers, SIZE, &min_num, &max_num); // 调用函数
printf("最小值: %d, 最大值: %d\n", min_num, max_num);
return 0;
}
// 函数实现
void findMinMax(int* arr, int size, int* min, int* max) {
*min = *arr; // 初始将第一个元素设为最小值
*max = *arr; // 同理,初始将第一个元素设为最大值
for (int i = 1; i < size; ++i) { // 遍历数组
if (*arr > *max) {
*max = *arr;
} else if (*arr < *min) {
*min = *arr;
}
arr++; // 指针向前移动到下一个元素
}
}
```
在这个例子中,`findMinMax`函数通过指针遍历数组,每次比较当前元素和已知的最小值、最大值,如果当前元素更大,则更新最大值;如果更小,则更新最小值。函数最后返回的是通过指针`min`和`max`传递的实际最小值和最大值。
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` 函数,最终输出数组的最大值和最小值。
阅读全文
相关推荐













