输入一个N*M的矩阵,要求将这个矩阵右转90度后输出。 例如矩阵:A B C 右转90度后变成: D A D E F E B F C
时间: 2024-01-21 12:02:55 浏览: 66
好的,这个问题可以用代码来解决。以下是一个Python的实现:
```python
def rotate(matrix):
n = len(matrix)
m = len(matrix[0])
rotated_matrix = [[0] * n for _ in range(m)]
for i in range(n):
for j in range(m):
rotated_matrix[j][n-i-1] = matrix[i][j]
return rotated_matrix
```
这个函数接受一个二维列表作为输入,表示一个N*M的矩阵。它首先创建一个新的M*N的矩阵`rotated_matrix`,然后通过两个循环遍历原始矩阵中的每个元素,将其旋转到新的矩阵中。具体来说,对于原始矩阵中的元素`matrix[i][j]`,它被旋转到新矩阵中的位置`rotated_matrix[j][n-i-1]`。最后,函数返回旋转后的矩阵`rotated_matrix`。
你可以像这样使用这个函数:
```python
matrix = [['A', 'B', 'C'], ['D', 'E', 'F']]
rotated_matrix = rotate(matrix)
for row in rotated_matrix:
print(row)
```
这将输出:
```
['D', 'A']
['E', 'B']
['F', 'C']
```
这正是右转90度后的矩阵。
相关问题
c语言输入一个N*M的矩阵,要求将这个矩阵右转90度后输出。 例如矩阵:A B C 右转90度后变成: D A D E F E B F C 输入 第一行包含两个参数n和m,表示矩阵有n行m列,1<=n,m<=10 接下来输入n行数据,每行包含m个元素,每个元素用字母表示 输出 输出右转90度后的矩阵
下面是一个C语言的示例代码:
```c
#include <stdio.h>
#define MAX_N 10
#define MAX_M 10
int main() {
int n, m;
char matrix[MAX_N][MAX_M]; // 定义一个二维字符数组,存储矩阵
scanf("%d %d", &n, &m); // 输入矩阵的行数和列数
for (int i = 0; i < n; i++) {
scanf("%s", matrix[i]); // 输入每一行的数据
}
for (int j = 0; j < m; j++) {
for (int i = n - 1; i >= 0; i--) { // 从下往上遍历每一行
printf("%c", matrix[i][j]); // 输出右转90度后的字符
}
printf("\n"); // 每输出完一列换行
}
return 0;
}
```
输入样例:
```
3 3
ABC
DEF
GHI
```
输出样例:
```
GDA
HEB
IFC
```
C语言输入一个N*M的矩阵,要求将这个矩阵右转90度后输出。 例如矩阵:A B C 右转90度后变成: D A 德英法乙 F C 输入 第一行包含两个参数n和m,表示矩阵有n行m列,1<=n,m<=10 接下来输入n行数据,每行包含m个元素,每个元素用字母表示 输出 输出右转90度后的矩阵
好的,这是一个比较典型的矩阵旋转问题。下面是一个简单的 C 语言实现:
```c
#include <stdio.h>
#define MAXN 10
int main() {
int n, m, i, j;
char a[MAXN][MAXN], b[MAXN][MAXN];
scanf("%d%d", &n, &m);
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
scanf(" %c", &a[i][j]); // 注意这里的空格,防止读入换行符
}
}
for (i = 0; i < n; ++i) {
for (j = 0; j < m; ++j) {
b[j][n-i-1] = a[i][j]; // 将 a 矩阵旋转到 b 矩阵
}
}
for (i = 0; i < m; ++i) {
for (j = 0; j < n; ++j) {
printf("%c ", b[i][j]); // 输出旋转后的矩阵
}
printf("\n");
}
return 0;
}
```
这个程序的主要思路是,首先读入原矩阵,然后将其旋转得到一个新的矩阵,最后输出该矩阵。需要注意的是,为了防止读入换行符,我们在读入每个字符时加上一个空格。
阅读全文