设计c语言程序实现以下功能:一个数组有10个元素,例如{1,8,10,2,-5,0,7,15,4,-5},利用指针作为函数参数,输出数组中最大和最小的元素值及其下标。 输入格式: "%d" 输出格式: "最大数是%d,其下标是%d,最小数%d,其下标是%d\n"
时间: 2024-03-22 10:37:17 浏览: 62
好的,这里是实现这个功能的 C 语言程序:
```c
#include <stdio.h>
void find_max_min(int *arr, int size, int *max, int *max_idx, int *min, int *min_idx) {
int i;
*max = *min = arr[0];
*max_idx = *min_idx = 0;
for (i = 1; i < size; i++) {
if (arr[i] > *max) {
*max = arr[i];
*max_idx = i;
}
if (arr[i] < *min) {
*min = arr[i];
*min_idx = i;
}
}
}
int main() {
int arr[10] = {1, 8, 10, 2, -5, 0, 7, 15, 4, -5};
int max, max_idx, min, min_idx;
find_max_min(arr, 10, &max, &max_idx, &min, &min_idx);
printf("最大数是%d,其下标是%d,最小数%d,其下标是%d\n", max, max_idx, min, min_idx);
return 0;
}
```
在这个程序中,我们定义了一个 `find_max_min` 函数,它接受一个整数数组、数组长度、最大值指针、最大值下标指针、最小值指针、最小值下标指针作为参数。在函数中,我们遍历整个数组,找到最大值和最小值,并记录它们的下标。然后在 `main` 函数中,我们调用 `find_max_min` 函数,并打印出最大值、最小值和它们的下标。
阅读全文