#include<stdio.h>
void main()
{
void change(int x[][5]);
int a[5][5]={{100,99,98,97,96},{95,94,93,92,91},{90,89,88,87,86},{85,84,83,82,81},{80,79,78,77,76}};
int i,j;
printf("转换前:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%4d",a[i][j]);
printf("\n");
}
change(a);/*调用函数*/
printf("转换后:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}
void change(int x[][5])
{
int b[25],i,j,k=0,t;
for(i=0;i<5;i++)/*把二维数组中元素按行的顺序存放到一维数组*/
for(j=0;j<5;j++)
{
b[k]=x[i][j];
k++;
}
for(i=0;i<24;i++)/*选择排序法,对一维数组中元素进行从小到大的排序*/
{
k=i;
for(j=i+1;j<25;j++)
if(b[j]<b[k])
k=j;
if(k!=i)
{
t=b[k];
b[k]=b[i];
b[i]=t;
}
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[24])
{
t=x[i][j];
x[i][j]=x[2][2];
x[2][2]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[0])
{
t=x[i][j];
x[i][j]=x[0][0];
x[0][0]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[1])
{
t=x[i][j];
x[i][j]=x[0][4];
x[0][4]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[2])
{
t=x[i][j];
x[i][j]=x[4][0];
x[4][0]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[3])
{
t=x[i][j];
x[i][j]=x[4][4];
x[4][4]=t;
break;
}
}
C++代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
void change(int x[][5]);
int a[5][5]={{100,99,98,97,96},{95,94,93,92,91},{90,89,88,87,86},{85,84,83,82,81},{80,79,78,77,76}};
int i,j;
cout<<"转换前:"<<endl;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
change(a);/*调用函数*/
cout<<"转换后:"<<endl;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
cout<<setw(4)<<a[i][j];
cout<<endl;
}
return 0;
}
void change(int x[][5])
{
int b[25],i,j,k=0,t;
for(i=0;i<5;i++)/*把二维数组中元素按行的顺序存放到一维数组*/
for(j=0;j<5;j++)
{
b[k]=x[i][j];
k++;
}
for(i=0;i<24;i++)/*选择排序法,对一维数组中元素进行从小到大的排序*/
{
k=i;
for(j=i+1;j<25;j++)
if(b[j]<b[k])
k=j;
if(k!=i)
{
t=b[k];
b[k]=b[i];
b[i]=t;
}
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[24])
{
t=x[i][j];
x[i][j]=x[2][2];
x[2][2]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[0])
{
t=x[i][j];
x[i][j]=x[0][0];
x[0][0]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[1])
{
t=x[i][j];
x[i][j]=x[0][4];
x[0][4]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[2])
{
t=x[i][j];
x[i][j]=x[4][0];
x[4][0]=t;
break;
}
for(i=0;i<5;i++)
for(j=0;j<5;j++)
if(x[i][j]==b[3])
{
t=x[i][j];
x[i][j]=x[4][4];
x[4][4]=t;
break;
}
}