【code】旋转二维数组

旋转二维数组

#include<stdio.h>
#include<string.h>
#include<malloc.h>
/*
 * Function:对二维数组进行顺时针旋转和逆时针旋转输出
 * Input:二维度数组
 * Return:void
 */
int main() {
	//动态二维数组输入
	int row, col;
	while (scanf_s("%d%d", &row, &col) != EOF) {
		int** values = (int**)malloc(row * sizeof(int*));
		for (int i = 0; i < row; i++) {
			values[i] = (int*)malloc(col * sizeof(int));
		}
		for (int i = 0; i < row; i++) {
			for (int j = 0; j < col; j++) {
				scanf_s("%d", &values[i][j]);
			}
		}
		// 顺时针旋转输出
		printf("顺时针\n");
		for (int j = 0; j < col; j++) {
			for (int i = row - 1; i >= 0; i--) {
				printf("%d ", values[i][j]);
			}
			putchar('\n');
		}
		// 逆时针旋转输出
		printf("逆时针\n");
		for (int j = col - 1; j >= 0; j--) {
			for (int i = 0; i < row; i++) {
				printf("%d ", values[i][j]);
			}
			putchar('\n');
		}
	}
	return 0;
}


发布了46 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zzy296753977/article/details/101481237