#include<stdio.h>
#include<string.h>
main()
{ int i,j,k,n,m;
int a[50][50],b[50],c[50];
scanf("%d%d",&m,&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{scanf("%d",&a[i][j]);
c[j]=j;
}
for(j=0;j<n;j++)
{ if(m%n+c[j]<n)
c[j]+=m%n;
else
c[j]+=m%n-n;
}
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
printf("%d ",a[i][c[j]]);
printf("\n");
}
}
以下是测试数据:
2 3
1 2 3
4 5 6
7 8 9
8 5
11 71 24 69 12
39 52 39 59 47
45 24 53 67 10
79 55 25 79 65
12 29 89 89 90
每个元素值对应的索引位置虽然换了,但是你输出是按顺序输出的,所以移动不对。
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!