A 图片旋转 HUNNU校赛题解

在这里插入图片描述
本题为校赛第一题,要求就是把数组进行旋转,再进行输出

我们首先找一个二维数组把数组读入进去

看案例找规律
案例第一行恰好是输入数列从第一列从下往上输入
第二行恰好是第二列从下往上输入

第一行的输出的数,相对于原数组的列没有发生变化,所以我们可以把它放到外循环
外循环从0开始一直到第m列
故可以得到
for(int j = 0;j<m;j++)

而每行输出的数,相对于原数组的行发生变化,所以放到内循环
内循环从n开始,一直到0,因为数组从0下标开始的,所以n还要减1
故可以得到
for(int i=n-1;i>=0;i–)

然后直接输出即可

代码如下

#include<iostream>
using namespace std;

int main(){
	int n,m;
	int max;
	cin>>n>>m;
	int num[n][m];
	
	for(int i=0;i<n;i++){
		for(int j=0;j<m;j++){
			cin>>num[i][j];  // 输入数据
		}
	}

	
	for(int j=0;j<m;j++){
		for(int i=n-1;i>=0;i--){
			cout<<num[i][j]<<" ";  // 输出数据
		}
		cout<<endl;
	} 
	
	return 0;
}

版权声明:本文为qq_46300009原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。