一、程序设计
#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 +