用c将一组整数的最小值替换为它的最大值。输入任意个整数,用函数编程查找最大值 和最小值,然后将最小值更新为最大值,最后在主函数中输出变换后的数组。
时间: 2023-06-13 11:09:00 浏览: 51
以下是实现该功能的代码:
```c
#include <stdio.h>
void findMinMax(int arr[], int n, int *max, int *min) {
*max = arr[0];
*min = arr[0];
for(int i=1; i<n; i++) {
if(arr[i] > *max) {
*max = arr[i];
}
if(arr[i] < *min) {
*min = arr[i];
}
}
}
void replaceMinMax(int arr[], int n) {
int max, min;
findMinMax(arr, n, &max, &min);
for(int i=0; i<n; i++) {
if(arr[i] == min) {
arr[i] = max;
}
}
}
int main() {
int n;
printf("Enter the number of elements:");
scanf("%d", &n);
int arr[n];
printf("Enter the elements:");
for(int i=0; i<n; i++) {
scanf("%d", &arr[i]);
}
replaceMinMax(arr, n);
printf("Array after replacing min with max:\n");
for(int i=0; i<n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的代码中,我们首先使用 `findMinMax` 函数查找最大值和最小值。接下来,我们使用 `replaceMinMax` 函数将最小值替换为最大值。最后,我们在主函数中输出更新后的数组。