m %= n
从n-m开始输出到n,然后再从0开始输出到n-m-1
这里是二维矩阵示例,一维也是同样的道理
从而实现原地输出,避免再开一个数组,节约了空间
#include <stdio.h>
int main(){
int m,n;
scanf("%d %d",&m,&n);
m %= n;
int arr[6][6];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
scanf("%d",&arr[i][j]);
}
}
for(int i=0;i<n;i++){
for(int j=n-m;j<n;j++){
printf("%d ",arr[i][j]);
}
for(int j=0;j<n-m;j++){
printf("%d ",arr[i][j]);
}
printf("\n");
}
return 0;
}