100分帮我

来源:百度知道 编辑:UC知道 时间:2024/05/26 11:32:20
将一个5X5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序从右到左,从下到上顺序依次从大到小存放),写一函数实现之。用main函数调用,一定要用子函数。

#include <stdio.h>
void Find(int a[][5],int key,int row,int col);

int main()
{
int matrix[5][5] = {{0,1,2,3,4},{5,6,7,8,9},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
int temp[25];
int i;
int j;
int k = 0;
for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
temp[k++] = matrix[i][j];//放到一维数组方便排序
}
}

int num;
for (i = 0; i < 24; i++)//排序从小到大
{
k = i;
for (j = i; j < 25; j++)
{
if (temp[j] < temp[k])
{
k = j;
}
}

if (i != k)
{
num = temp[i];
temp[i] = temp[k];
temp[k] = num;
}
}

Find(matrix,temp[0],4,0);
Find(matrix,temp[1],0,0);
Find(matrix,temp[2],0,4);
Find(matrix,temp[3],4,4);
Find(matrix,temp[24],2,2);

for (i = 0; i < 5; i++)
{
for (j = 0; j < 5; j++)
{
printf(&q