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

该博客介绍了如何编写一个C语言函数,实现将5*5的矩阵中最大元素移动到中心位置,同时4个角放置4个最小元素(按从左到右、从上到下顺序)。函数通过查找最大和最小值并进行交换来完成这一操作,主函数调用该函数并展示结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、程序设计
#include <stdio.h>
void swap(int(*p))
{
int *max, *min;
max = p;
min = p;
int t,i,j;
//循环分别找出最大的和最小的元素
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
if (*max < *(p + 5 * i + j))
{
max = p + 5 * i + j;
}
if (*min > *(p + 5 * i + j))
{
min = p + 5 * i + j;
}
}
}
//最大的元素和中心元素调换
t = *(p + 12);
*(p + 12) = *max;
*max = t;
//最小元素和矩阵第一个元素调换
t = *(p + 0);
*(p + 0) = *min;
*min = t;

min = p + 1;//重新定义最小元素
//继续循环找出除第一个以外的最小元素
for(i=0;i<5;i++)
{ 
	for (j = 0; j < 5; j++)
	{
		if(((p+5*i+j)!=p)&& (*min>*(p + 5 * i + j)))
		{
			min = p + 5 * i + j;
		}
	}
}
//最小元素与矩阵第五个元素调换
t = *(p + 4);
*(p + 4) = *min;
*min = t;


min = p + 1;
//继续循环找出除第一个和第五个以外的最小元素
for (i = 0; i<5; i++)
{
	for (j = 0; j < 5; j++)
	{
		if (((p+5*i+j)!=(p+4))&&((p + 5 * i + 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值