C语言:将一个5x5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素....
2015-04-07 14:34
393 查看
题目:将一个5x5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用
对二维数组进行排序
代码:
对二维数组进行排序
#include<stdio.h> void main(){void sort(int *); int array[5][5] = {{5,4,0,15,65},{6,7,9,14,16},{98,75,66,47,32},{10,53,1,13,19},{120,99,35,39,28}}; int *p = array,i,j; sort(p); for(i=0;i<5;i++){ for(j=0;j<5;j++){ printf("%3d ",array[i][j]); } printf("\n"); } return 0; } void sort(int *p){ int i,j,temp; for(i=0;i<25;i++){ for(j=0;j<25-i;j++){ if(*(p+j) > *(p+j+1)){ temp = *(p+j+1); *(p+j+1) = *(p+j); *(p+j) = temp; } } } return ; }
代码:
#include<stdio.h> void sort(int [][]); int array[5][5] = {{5,4,0,15,65},{6,7,9,14,16},{98,75,66,47,32},{10,53,1,13,19},{120,99,35,39,28}}; sort(array); return 0; } void sort(int array[][5]){ int i,j,temp; int *p = array; int newArray[5][5]; //把传进来的数组复制到新数组中 对传进来的数组进行排序 for(i=0;i<5;i++){ for(j=0;j<5;j++){ newArray[i][j] = array[i][j]; } } //先对二维数组进行排序 找到最小的前四位 和 最大第一位数 的数值 for(i=0;i<25;i++){ for(j=0;j<25-i;j++){ if(*(p+j) > *(p+j+1)){ temp = *(p+j+1); *(p+j+1) = *(p+j); *(p+j) = temp; } } } //交换 找到数值后 再对数值的位置进行确定 for(i=0;i<5;i++){ for(j=0;j<5;j++){ /*这几个if语句就是确定array中最小的前四位和最大的一位数 在newAray中对应的具体位置 找到对应的数值位置后 进行交换 可能有点繁琐 */ if(newArray[i][j] == array[0][0]){ temp = newArray[i][j]; newArray[i][j] = newArray[0][0]; newArray[0][0] = temp; } if(newArray[i][j] == array[0][1]){ temp = newArray[i][j]; newArray[i][j] = newArray[0][4]; newArray[0][4] = temp; } if(newArray[i][j] == array[0][2]){ temp = newArray[i][j]; newArray[i][j] = newArray[4][0]; newArray[4][0] = temp; } if(newArray[i][j] == array[0][3]){ temp = newArray[i][j]; newArray[i][j] = newArray[4][4]; newArray[4][4] = temp; } if(newArray[i][j] == array[4][4]){ temp =newArray[i][j]; newArray[i][j] = newArray[2][2]; newArray[2][2] = temp; } } } for(i=0;i<5;i++){ for(j=0;j<5;j++){ printf("%3d",newArray[i][j] ); } printf("\n"); } //这里输出了排序好的二维数组 for(i=0;i<5;i++){ for(j=0;j<5;j++){ printf("%3d",array[i][j] ); } printf("\n"); } return ; }
相关文章推荐
- 8.10 将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放在4个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(对比两个程序)
- 习题 8.10 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放),写一函数实现之。用main函数调用。
- 将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下顺序依次从小到大存放),写一函数实现之。
- 5*5最大的元素放在中心,4个角分别最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素
- 将一个5*5的矩阵中最大的元素放在中心,四个角分别放四个最小的元素(顺序从左到右,从上到下顺序依次从小到大存放),写一个函数实现之。用main函数调用。
- 将一个5X5的矩阵中最大的元素放在中心
- 编写程序输入一个5x5的矩阵,将最大元素与中心元素交换,并按行列对齐输出。
- 5*5的矩阵中最大的元素放在中心,写一个函数实现
- 10.10 5*5矩阵,中间最大,4角4个最小元素
- 5*5的矩阵中最大的元素放在中心
- 将一个5*5 矩阵中最大的放在中间,四个角分别放最小的数据,顺序分别是左右上下,通过函数完成。
- 将一个5*5的矩阵中最大的元素放在…
- 矩阵中的“马鞍点”,即满足该元素在所在行最小,在所在列最大
- 寻找矩阵中最大元素置中,最小四元素置边角 P279_1010 改进比较次数
- c语言:3*4的矩阵,编程序求出其中最大的那个元素的值,以及其所在的行号和列号。(打擂台算法)
- 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。