最简单的方法:先扫描一遍整个数组,记录最大值和最小值的下标,最后将这两个下标的值互换一下即可。
#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;
}