include <stdio.h>int main(){int a[5][5];int i,j;int maxi,maxj, mini,minj;for(i = 0; i < 5; i ++)for(j = 0; j < 5; j ++)scanf("%d",&a[i][j]);maxi = maxj = mini = minj = 0;for(i = 0; i < 5; i ++)for(j = 0; j < 5; j ++){if(a...
include <stdlib.h> include void changeArrayData(int *arrayAddress1, int *arrayAddress2);int main( void){ int array[5][5] = {0};int i = 0, j = 0;int *arrayMax = 0, *arrayMin[4] = {array[0], array[0]+4, array[4], array[4]+4};int temp = 0;/*给数组...
下面是一种直接解法:另开辟一个同样大小的数组,把原数组的数据复制到里边,然后对新数组按升(或降)序排列,并记录最大与最小的四个数及对应的下标。最后,把中间的数换成最大的数,四角换成最小的就可以了。
这是假设次小的为第2个元素(下标为0,1),因为经过前边的过程,第1个元素(下标为0,0的元素)已经放置了紧了整个数组中的最小值,故找次小、第三小、第四小的应该从第2个元素找起,若没有这一句,以后找到的次小、第三小、第四小将会被误找成第1个元素。