10个数找最大值和最小值 c语言指针
时间: 2024-12-12 16:15:06 浏览: 28
以下是一个使用C语言指针来查找10个数中的最大值和最小值的示例程序:
```c
#include <stdio.h>
void findMaxMin(int *arr, int size, int *max, int *min) {
*max = *arr;
*min = *arr;
for(int i = 1; i < size; i++) {
if(*(arr + i) > *max) {
*max = *(arr + i);
}
if(*(arr + i) < *min) {
*min = *(arr + i);
}
}
}
int main() {
int numbers[10];
int max, min;
printf("请输入10个整数:\n");
for(int i = 0; i < 10; i++) {
scanf("%d", &numbers[i]);
}
findMaxMin(numbers, 10, &max, &min);
printf("最大值是:%d\n", max);
printf("最小值是:%d\n", min);
return 0;
}
```
这个程序的工作原理如下:
1. 我们定义了一个函数 `findMaxMin`,它接受一个整数数组、数组大小以及两个整型指针(用于存储最大值和最小值)。
2. 在 `findMaxMin` 函数中,我们首先将最大值和最小值都初始化为数组的第一个元素。
3. 然后,我们使用 for 循环遍历数组的剩余元素。每次循环中,我们比较当前元素与存储的最大值和最小值,如果需要就更新它们。
4. 在 `main` 函数中,我们首先声明一个包含10个整数的数组和一个用于存储最大值和最小值的变量。
5. 我们使用循环和 `scanf` 函数来获取用户输入的10个整数。
6. 调用 `findMaxMin` 函数,将数组、最大值和最小值的地址传递给它。
7. 最后,我们打印出找到的最大值和最小值。
这个程序有效地利用了指针来直接修改 `main` 函数中的变量,而不需要返回任何值。
阅读全文