在c语言中如何将数组的最大值与最小值互换位置,求大神解答!!!

2025-03-25 14:13:57
推荐回答(2个)
回答1:

最简单的方法:先扫描一遍整个数组,记录最大值和最小值的下标,最后将这两个下标的值互换一下即可。

回答2:

#include 
#include 
#define MAXLEN 128
int main(){
    int array[MAXLEN];
    int max = 0, min = 0;
    int n = 10;
    printf("input 10 nums:");
    for(int i = 0;i < n;++ i){
        scanf("%d",&array[i]);
        if(array[i] > array[max]) max = i;
        if(array[i] < array[min]) min = i;
    }
    printf("Before\n");
    for(int i = 0;i < n;++ i) printf("%d ", array[i]);
    int t = array[max];
    array[max] = array[min];
    array[min] = t;
    printf("\nAfter:\n");
    for(int i = 0;i < n;++ i) printf("%d ", array[i]);
    return 0;
}