图像旋转(201503-1/CCF)———附带思路和完整代码

0 效果

在这里插入图片描述
难点:认真读题

1 题目

在这里插入图片描述

2 思路

通过观察案例可知:
原数组
(0,0),(0,1),(0,2)
(1,0),(1,1),(1,2)
输出变成了
(2,0),(1,0),(0,0)
(2,1),(1,1),(0,1)
也就是原先的第一维(行)变成了第二纬度(列),第二维度(列)变成了第一维度(行),另外每一行按照行数从高到低输入,至此就可以书写算法了。

3 代码

#include<cstdio>
const int MAXN = 1010;
int A[MAXN][MAXN];
int main(){
	int n, m;
	scanf("%d%d", &n, &m);
	for(int i =  0; i <  n; i++){
		for(int j = m - 1; j >= 0;j--){
			int num;
			scanf("%d", &num);
			A[j][i] = num;
		}	
	}
	for(int i =  0; i < m; i++){
		for(int j = 0; j < n;j++){
			if(j != 0) printf(" ");
			printf("%d", A[i][j]);
		}	
		if(i != m)printf("\n");
	}
	return 0;
}
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页