蓝桥杯今日份练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯今日份练习相关的知识,希望对你有一定的参考价值。

一、题目:

给出一个n*m的整数矩阵,请你把这个矩阵顺时针旋转90°以后输出。

输入格式:

第一行输入两个整数n,m(1<=n,m<=200).用空格隔开。接下来n行,每行输入m个整数,表示输入的矩阵。矩阵中的元素都是int范围内的整数。

输出格式:

输出m行,每行n个空格隔开的整数,表示旋转以后的矩阵。注意:每行末尾不能输出多余的空格。

样例输入和输出:

蓝桥杯今日份练习_蓝桥杯

二、思路

首先不能被题目带偏,题目要求旋转90°,我们不可能交换二维数组中元素的值,那样做太麻烦,而且极易出错。

因此我们换一个角度思考,旋转90°,得到一个新的矩阵,我们可以改变二维数组的输出方式,使之成为我们想要的结果。

经观察得,经旋转后的矩阵的每一列都是原来矩阵行的倒序,所以我们可以换个方式输出二维数组里面的元素,而不是改变二维数组的值

三、源码

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
int arr[205][205]=0;
//做这种题,不能被带偏,本题将矩阵旋转90,不能将矩阵内的数字进行转换,应该以不同形式去输出样例结果
int main()

int row, lie;
cin >> row >> lie;
for (int j=1;j<=row;j++)

for (int i=1;i<=lie;i++)

cin >> arr[j][i];


for (int n=1;n<=lie;n++)

for (int m=0;m<row;m++)

cout << arr[row-m][n]<< ;//cout输出空格形式

cout << endl;

return 0;

以上是关于蓝桥杯今日份练习的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯练习系统—算法训练 最小最大公倍数

蓝桥杯练习系统历届试题 剪格子 dfs

2021.5.7 2022蓝桥杯练习赛1

蓝桥杯练习系统题解

蓝桥杯练习系统错题总结—

蓝桥杯基础练习题0(Fibonacci数列)