我的方法有些繁琐,想问有没有更简单的方法
题目:将N×N矩阵中元素的值按列右移1个位置, 右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵
1 2 3
4 5 6
7 8 9
计算结果为
3 1 2
6 4 5
9 7 8
#include <stdio.h>
int main()
{
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j,t;
for (i=0;i<3;i++)
for (j=0;j<2;j++)
{
t=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=t;
}
for (i=0;i<3;i++)
for (j=0;j<2;j++)
{
t=a[i][j];
a[i][j]=a[i][j+1];
a[i][j+1]=t;
}
for (i=0;i<3;i++)
{
for (j=0;j<3;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
}