小强是校信息学竞赛队的成员。学校要选拔代表参加市级比赛,老师出了一套综合测试卷,其中最后一道题让小强犯了难:
"给定一个 n×n 的矩阵,请将其顺时针旋转90度后输出。"
小强会一维数组,会 for 循环,也会简单的二维数组遍历。但"旋转矩阵"需要他把循环、数组、嵌套全部结合起来,还要找到行列之间的对应关系。
他想了想,决定先把问题拆解开:
| 步骤 | 用到的知识 | 说明 |
|---|---|---|
| 第一步:读入矩阵 | 二维数组 + for 循环 | 用嵌套 for 循环读入 n×n 个整数 |
| 第二步:找规律 | 数学观察 | 观察旋转前后坐标的变化规律 |
| 第三步:输出新矩阵 | 嵌套 for 循环 + 数组 | 按新坐标关系输出 |
小强发现,旋转90度的规律是:原矩阵中第 i 行第 j 列的元素,旋转后变成第 j 行第 (n-1-i) 列。
他高兴地写出来了!这道题综合了 循环、数组、嵌套 三大知识点,正是我们今天要复习的核心内容。