文章

19

粉丝

0

获赞

137

访问

2.9k

头像
旋转方阵 C语言题解

printf("%-4d", arr[i][j]);           注意格式化输出

​
#include<stdio.h>

int main() {
	int n;
	scanf("%d", &n);
	int arr[21][21] = { 0 };

	int i = 0, j = 1;
	for (int k = 1; k <= n * n; k++) {
		i++;
		while (i <= n && arr[i][j] == 0) {
			arr[i][j] = k++;
			i++;
		}
		i--;
		//printf("[1:%d:%d]", i, j);
		j++;
		while (j <= n && arr[i][j] == 0) {
			arr[i][j] = k++;
			j++;
		}
		j--;
		//printf("[2:%d:%d]", i, j);
		i--;
		while (i > 0 && arr[i][j] == 0) {
			arr[i][j] = k++;
			i--;
		}
		i++;
		//printf("[3:%d:%d]", i, j);
		j--;
		while (j > 0 && arr[i][j] == 0) {
			arr[i][j] = k++;
			j--;
		}
		j++;
		//printf("[4:%d:%d]", i, j);
		k--;
	}

	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			printf("%-4d", arr[i][j]);
		}
		printf("\n");
	}

	return 0;
}

​

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发