33,311
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#define N 25
void swap(int *a,int *b);
void main()
{
int i,j,k,a[N],b[5][5];
printf("输入5*5矩阵:\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<25;i++)
{
for(j=i+1;j<N;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
b[i][j]=a[5*i+j];
}
}
swap(&b[2][2],&b[0][0]);
swap(&b[0][0],&b[4][4]);
swap(&b[0][4],&b[4][3]);
swap(&b[4][0],&b[4][2]);
swap(&b[4][4],&b[4][1]);
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%-3d",b[i][j]);
}
printf("\n");
}
}
void swap(int *a,int *b)
{
int k;
k=*a;
*a=*b;
*b=k;
}
……
p[0]=&b[0][0];
//for(i=1;i<=5;i++)
for(i=1;i<5;i++)//去一个等号
p[5-i]=&b[4][5-i];