이 질문은 주어진 n × n 정사각형 행렬 m 위치의 각 요소를 오른쪽으로 순환 이동하는 프로그램을 작성해야합니다. 즉, 0 번째, 1, ..., n-1 열을 n-m, n-m으로 변환합니다. +1, ..., n−1, 0, 1, ..., n−m−1 열.
입력 형식 : 입력의
첫 번째 줄은 두 개의 양의 정수 m과 n (1≤n≤6)을 제공합니다. 다음으로 n 차수의 정사각형 행렬을 나타내는 n 개의 정수가있는 총 n 개의 행이 있습니다.
출력 형식 :
입력 형식에 따라 이동 된 정사각형 행렬을 출력합니다. n 개 행, n 개 정수의 각 행을 출력하고 각 정수 뒤에 공백을 출력합니다.
시료 입력 :
2 3
1 2 3.
4 5.6.
7. 8. 9.
출력 샘플 :
(2) (3) (1)
. 제 4 6
8 9 7.
타이틀 셋트 컬렉션 포털
#include <stdio.h>
int main()
{
int m, n, a[6][6];
scanf("%d %d", &m, &n);
m = m % n; //考虑到m可能大于n,这里取模
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
scanf("%d", &a[i][j]);
for (int i = 0; i < n; i++)
{
for (int j = n-m; j < n; j++) //先输出右移后超出最后一列的数
printf("%d ", a[i][j]);
for (int j = 0; j < n - m; j++) //在输出右移后没有超过最后一列的数
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}