输入一个N行N列的整型矩阵,当矩阵中第一个数是奇数时,将第二行和第三行互换,当矩阵中第一个数是偶数时将第一列和第三列互换。3<= N <= 100 输入描述: 第1行包含一个整数N,表示矩阵的大小。 接下来N行,每行包含N个整数,表示矩阵中的元素,每个元素用空格分隔开。
时间: 2024-02-23 13:59:40 浏览: 17
好的,我理解了你的问题。以下是一个 Python 的实现:
```python
n = int(input())
matrix = []
for i in range(n):
row = list(map(int, input().split()))
matrix.append(row)
if matrix[0][0] % 2 == 1:
matrix[1], matrix[2] = matrix[2], matrix[1]
else:
for i in range(n):
matrix[i][0], matrix[i][2] = matrix[i][2], matrix[i][0]
for i in range(n):
for j in range(n):
print(matrix[i][j], end=' ')
print()
```
解释一下代码的逻辑:
首先读入矩阵,存储在一个二维列表中。然后根据题目要求,判断第一个数是奇数还是偶数,分别进行行和列的交换。最后输出交换后的矩阵。
相关问题
输入一个N行N列的整型矩阵,当矩阵中第一个数是奇数时,将第二行和第三行互换,当矩阵中第一个数是偶数时将第一列和第三列互换。3<= N <= 100
好的,以下是C++的代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n;
cin >> n;
vector<vector<int>> matrix(n, vector<int>(n));
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
if (matrix[0][0] % 2 == 1) {
swap(matrix[1], matrix[2]);
} else {
for (int i = 0; i < n; i++) {
swap(matrix[i][0], matrix[i][2]);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
同样地,首先读入矩阵,并根据第一个数的奇偶性进行相应的变换,最后输出变换后的矩阵即可。
按如下函数原型编程从键盘输入一个m行n列的二维整型数组,然后计算二维数组中正数
编程实现如下:
```python
def count_positive_numbers(m, n):
matrix = []
count = 0
# 输入二维数组
print("请输入一个{}行{}列的二维整型数组:".format(m, n))
for i in range(m):
row = []
for j in range(n):
num = int(input("请输入第{}行第{}列的数:".format(i+1, j+1)))
row.append(num)
if num > 0:
count += 1
matrix.append(row)
# 输出二维数组和正数个数
print("输入的二维数组为:")
for i in range(m):
for j in range(n):
print(matrix[i][j], end="\t")
print()
print("二维数组中正数的个数为:", count)
# 测试示例
count_positive_numbers(3, 4)
```
运行示例:
```
请输入一个3行4列的二维整型数组:
请输入第1行第1列的数: 1
请输入第1行第2列的数: 2
请输入第1行第3列的数: -3
请输入第1行第4列的数: -4
请输入第2行第1列的数: 5
请输入第2行第2列的数: -6
请输入第2行第3列的数: 7
请输入第2行第4列的数: -8
请输入第3行第1列的数: 9
请输入第3行第2列的数: 10
请输入第3行第3列的数: 11
请输入第3行第4列的数: -12
输入的二维数组为:
1 2 -3 -4
5 -6 7 -8
9 10 11 -12
二维数组中正数的个数为: 7
```
解释:以上代码实现了从键盘输入一个m行n列的二维整型数组,并统计其中的正数个数。在输入过程中,通过嵌套的循环逐个输入数组元素,并判断是否为正数,若是则计数器count加一。最后输出输入的二维数组及其中的正数个数。