B2107 图像旋转

题意

给你个二维数组,让你把它顺时针旋转90°后输出。

题解

通过样例可以发现:第一列的数到第一行了,第二列的数到第二行了,第三列的数到第三行了,而且都是倒序。

那么可令\(j\)(代表第\(j\)列)从1m枚举,再令$i$(代表第$i$行)从n1(倒序)枚举,然后输出二维数组的\(i\)\(j\)即可。

代码

#include<bits/stdc++.h>
using namespace std;

int a[104][104];//定义二维数组
int main()
{
	int n,m;cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			cin>>a[i][j];
	for(int j=1;j<=m;j++)//枚举列
	{
		for(int i=n;i>=1;i--)cout<<a[i][j]<<" ";//枚举行并倒序输出
		cout<<endl;//别忘了换行
	}

	return 0;
}
posted @ 2021-07-05 17:27  离线中……  阅读(90)  评论(0编辑  收藏  举报