定义函数实现计算上面函数输入的数中最大值和最小值,并互换它们所在数组中的位置。 /* 函数功能: 互换最大值和最小值所在数组中的位置。 函数参数: 整形数组a[]要处理的数,整形变量n代表数的个数。 函数返回值: 0 */ int max_min(int a[], int n);并运行这个函数
时间: 2024-03-24 18:40:36 浏览: 71
ARGMAX/ARGMIN:这组函数有效地计算向量和矩阵的最大值/最小值参数。-matlab开发
好的,以下是定义函数和运行函数的完整代码:
```c
#include <stdio.h>
int max_min(int a[], int n) {
int max = a[0], min = a[0], max_index = 0, min_index = 0;
for (int i = 0; i < n; i++) {
if (a[i] > max) {
max = a[i];
max_index = i;
}
if (a[i] < min) {
min = a[i];
min_index = i;
}
}
int temp = a[max_index];
a[max_index] = a[min_index];
a[min_index] = temp;
return 0;
}
int main() {
int a[100], n;
printf("请输入要输入的整数个数:\n");
scanf("%d", &n);
input(a, n);
printf("输入的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
max_min(a, n);
printf("\n处理后的数组为:\n");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
运行结果示例:
```
请输入要输入的整数个数:
5
请输入5个整数:
4 2 6 1 5
输入的数组为:
4 2 6 1 5
处理后的数组为:
4 2 1 6 5
```
阅读全文