对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。C++代码
时间: 2024-06-12 12:04:36 浏览: 9
#include <stdio.h>
int main() {
int n, m;
scanf("%d %d", &n, &m);
int matrix[n][m];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 打印矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
return 0;
}
相关问题
对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。
请问如何在Python中将其存储为一个二维列表?
可以使用以下代码将其存储为一个二维列表:
```
matrix = []
for i in range(n):
row = input().split()
row = [int(x) for x in row] # 将每个字符串转换为整数
matrix.append(row)
```
首先创建一个空列表`matrix`,然后使用`input()`函数逐行读取输入。对于每一行,使用`split()`方法将字符串按空格分隔成一个列表`row`,然后使用列表推导式将每个字符串转换为整数。最后将`row`添加到`matrix`中。循环结束后,`matrix`将包含所有输入的数字,每行作为一个子列表。
输入描述:对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。 输出描述:n*m矩阵的转置矩阵。输出m行,每行是n个空格分隔的数据。
以下是Python实现代码:
```python
# 读取输入数据
n, m = map(int, input().split())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
# 转置矩阵
transpose = []
for j in range(m):
col = []
for i in range(n):
col.append(matrix[i][j])
transpose.append(col)
# 输出转置矩阵
for j in range(m):
for i in range(n):
print(transpose[j][i], end=' ')
print()
```
输入示例:
```
3 4
1 2 3 4
5 6 7 8
9 10 11 12
```
输出示例:
```
1 5 9
2 6 10
3 7 11
4 8 12
```