写一个函数实现:将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下依次从小到大存放)

#include<stdio.h>

void change(int *p){

int i,j,temp;

int *pmax,*pmin;

// 初始化最大值和最小值的指针

pmax=p;

pmin=p;

// 遍历矩阵,寻找最大值和最小值

for(i=0;i<5;i++)

for(j=i;j<5;j++)

{

if(*pmax<*(p+5*i+j))pmax=p+5*i+j; // 更新最大值的指针

if(*pmin>*(p+5*i+j))pmin=p+5*i+j; // 更新最小值的指针

}

// 交换最大值和第12个元素的位置

temp=*(p+12);

*(p+12)=*pmax;

*pmax=temp;

// 交换最小值和第一个元素的位置

temp=*p;

*p=*pmin;

*pmin=temp;

// 重新设置最小值指针

pmin=p+1;

// 在剩余元素中寻找新的最小值并交换

for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(((p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))pmin=p+5*i+j;

// 交换新的最小值和第四个元素的位置

temp=*pmin;

*pmin=*(p+4);

*(p+4)=temp;

// 重新设置最小值指针

pmin=p+1;

// 在剩余元素中寻找新的最小值并交换

for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(((p+5*i+j)!=(p+4)&&(p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))

pmin=p+5*i+j;

// 交换新的最小值和第20个元素的位置

temp=*pmin;

*pmin=*(p+20);

*(p+20)=temp;

// 重新设置最小值指针

pmin=p+1;

// 在剩余元素中寻找最后的最小值并交换

for(i=0;i<5;i++)

for(j=0;j<5;j++)

if(((p+5*i+j)!=(p+20)&&(p+5*i+j)!=(p+4)&&(p+5*i+j)!=p)&&(*pmin>*(p+5*i+j)))

pmin=p+5*i+j;

// 交换最后的最小值和第24个元素的位置

temp=*pmin;

*pmin=*(p+24);

*(p+24)=temp;

}

/**

* 主函数,用于输入矩阵并调用change函数进行排序,然后输出排序后的矩阵。

*/

int main(){

int a[5][5],*p,i,j;

printf("请输入矩形:");

// 输入矩阵元素

for(i=0;i<5;i++)

for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

// 获取矩阵元素的一维数组形式的指针

p=&a[0][0];

// 调用change函数进行排序

change(p);

printf("排序后:");

// 输出排序后的矩阵

for(i=0;i<5;i++){

for(j=0;j<5;j++)

printf("%d ",a[i][j]);

printf("\n");

}

return 0;

}

相关推荐
luckys.one2 小时前
第9篇:Freqtrade量化交易之config.json 基础入门与初始化
javascript·数据库·python·mysql·算法·json·区块链
~|Bernard|3 小时前
在 PyCharm 里怎么“点鼠标”完成指令同样的运行操作
算法·conda
战术摸鱼大师3 小时前
电机控制(四)-级联PID控制器与参数整定(MATLAB&Simulink)
算法·matlab·运动控制·电机控制
Christo33 小时前
TFS-2018《On the convergence of the sparse possibilistic c-means algorithm》
人工智能·算法·机器学习·数据挖掘
鹿鹿学长4 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
好家伙VCC4 小时前
数学建模模型 全网最全 数学建模常见算法汇总 含代码分析讲解
大数据·嵌入式硬件·算法·数学建模
伴杯猫4 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
liulilittle6 小时前
IP校验和算法:从网络协议到SIMD深度优化
网络·c++·网络协议·tcp/ip·算法·ip·通信
Want5957 小时前
C/C++圣诞树①
c语言·开发语言·c++
bkspiderx7 小时前
C++经典的数据结构与算法之经典算法思想:贪心算法(Greedy)
数据结构·c++·算法·贪心算法