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;
}
上一篇:Redis从库失败导致集群概率读不到


下一篇:B2104 矩阵加法