蓝桥杯今日份练习

简介: 蓝桥杯今日份练习

一、题目:

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

输入格式:

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

输出格式:

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

样例输入和输出:

image.png

二、思路

首先不能被题目带偏,题目要求旋转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;
}
相关文章
|
7月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
88 1
|
7月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
110 0
|
7月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
86 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
88 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
93 0
|
7月前
|
机器学习/深度学习 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
94 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-986 藏匿的刺客
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-986 藏匿的刺客
99 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-985 幸运的店家
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-985 幸运的店家
86 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-983 最大获利
71 0
|
7月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-982 最小距离
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-982 最小距离
47 0