실험 7-2-7 정사각형 행렬을 오른쪽으로 이동 (20 점)

이 질문은 주어진 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;
}

추천

출처blog.csdn.net/fjdep/article/details/112674997