用c语言计算数组中元素的最大小值及其所在位置
时间: 2023-08-06 10:07:44 浏览: 107
c代码-运用指针计算10个元素数组中最大值最小值并返回在数组中的位置
好的,我可以为您编写一个用 C 语言计算数组中元素的最大小值及其所在位置的程序。以下是一个示例代码:
```c
#include <stdio.h>
#include <limits.h>
void findMinMax(int arr[], int size, int *min_val, int *max_val, int *min_pos, int *max_pos) {
// 初始化最小值、最大值和它们的位置
*min_val = INT_MAX;
*max_val = INT_MIN;
*min_pos = -1;
*max_pos = -1;
// 遍历数组中的每个元素
for (int i = 0; i < size; i++) {
if (arr[i] > *max_val) {
// 如果当前元素比最大值大,更新最大值和最大值的位置
*max_val = arr[i];
*max_pos = i;
}
if (arr[i] < *min_val) {
// 如果当前元素比最小值小,更新最小值和最小值的位置
*min_val = arr[i];
*min_pos = i;
}
}
}
int main() {
int arr[] = {5, 3, 8, 2, 7, 1, 9, 4, 6};
int size = sizeof(arr) / sizeof(arr[0]);
int min_val, max_val, min_pos, max_pos;
// 调用函数计算数组的最小值、最大值及它们的位置
findMinMax(arr, size, &min_val, &max_val, &min_pos, &max_pos);
// 输出结果
printf("数组中的最小值为 %d,它的位置是 %d\n", min_val, min_pos);
printf("数组中的最大值为 %d,它的位置是 %d\n", max_val, max_pos);
return 0;
}
```
运行以上代码,输出结果如下:
```
数组中的最小值为 1,它的位置是 5
数组中的最大值为 9,它的位置是 6
```
希望这个程序能够满足您的需求。
阅读全文