C语言 数组最大最小 【问题描述】利用函数和指针编写程序,将数组a中的最小数保存在a[0]中,最大数保存在a[9]中。假设整型数组a有10个元素。
时间: 2024-03-03 09:51:00 浏览: 62
好的,以下是一个示例代码:
```c
#include <stdio.h>
void getMinMax(int *arr, int *min, int *max) {
*min = *max = arr[0]; // 先将最小值和最大值都初始化为数组的第一个元素
for(int i = 1; i < 10; i++) {
if(arr[i] < *min) {
*min = arr[i];
}
if(arr[i] > *max) {
*max = arr[i];
}
}
}
int main() {
int a[10] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int min, max;
getMinMax(a, &min, &max); // 传递数组和最小值、最大值的指针
printf("最小值为:%d,最大值为:%d\n", min, max);
printf("最小值保存在数组a[0]中,最大值保存在数组a[9]中\n");
a[0] = min;
a[9] = max;
return 0;
}
```
在这里,我们定义了一个 `getMinMax()` 函数,它接收一个整型数组和两个整型指针作为参数。通过遍历数组,我们找到数组中的最小值和最大值,并将它们保存在指针所指向的变量中。在 `main()` 函数中,我们声明一个长度为 10 的整型数组,并初始化它的值。我们将数组和保存最小值和最大值的指针传递给 `getMinMax()` 函数,最终打印出最小值和最大值,并将它们保存在数组的第一个元素和最后一个元素中。
阅读全文