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;
}
原文地址:https://www.cnblogs.com/wuzhenhao/p/14973476.html