6.给定数组{{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0}, {9,8,7,6,5},{3,4,5,6,7}}设计一个函数fun,其功能是:输出M行M列整数方阵,然后求两条对角线上各元素之和,返回此和数。(10分)
时间: 2023-10-03 21:08:34 浏览: 31
以下是实现代码:
```python
def fun(arr):
m = len(arr)
res = [[0] * m for _ in range(m)]
for i in range(m):
for j in range(m):
res[i][j] = arr[i][j]
print(res[i][j], end=' ')
print()
sum1, sum2 = 0, 0
for i in range(m):
sum1 += res[i][i]
sum2 += res[i][m-i-1]
return sum1 + sum2
```
函数 `fun` 接受一个二维数组 `arr`,首先根据其长度生成一个 `m` 行 `m` 列的全零方阵 `res`,并将 `arr` 中的元素赋值给 `res` 对应位置,并输出方阵。然后遍历 `res` 计算两条对角线上各元素之和,最后返回两条对角线之和的值。
测试代码如下:
```python
arr = [[1,2,3,4,5],[4,3,2,1,0],[6,7,8,9,0],[9,8,7,6,5],[3,4,5,6,7]]
print(fun(arr)) # 输出方阵并返回对角线之和
```
输出结果:
```
1 2 3 4 5
4 3 2 1 0
6 7 8 9 0
9 8 7 6 5
3 4 5 6 7
33
```
对角线之和为 33。
相关问题
从给定数组中提取所有的奇数([0,1,2,3,4,5,6,7,8,9])
可以使用一个循环来遍历数组中的每个元素,判断该元素是否为奇数,如果是,则将其添加到一个新的数组中。代码示例如下:
```python
# 给定数组
arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 新建空数组,用于存储奇数
odd_arr = []
# 遍历数组中的每个元素
for num in arr:
# 判断该元素是否为奇数
if num % 2 != 0:
# 如果是奇数,添加到新数组中
odd_arr.append(num)
# 打印结果
print(odd_arr) # [1, 3, 5, 7, 9]
```
其中 `%` 表示取模运算,即求除法的余数。如果一个数除以 2 的余数为 1,那么它就是奇数。
. 给定数组a[10]={1,2,3,4,5,6,7,8,9,10},用顺序表L进行存储 java,(1) 在指定的i位置处插入元素33
在Java中,可以使用ArrayList来实现顺序表的存储。具体实现方法如下:
1. 首先需要导入java.util包中的ArrayList类。
2. 创建一个ArrayList对象,并将数组a中的元素添加到该对象中。
3. 在指定位置i处插入元素33,可以使用ArrayList类中的add方法,将33插入到i位置处。
4. 最后,可以使用for循环遍历ArrayList对象中的元素,并输出结果。
具体代码如下:
```
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
int[] a = {1,2,3,4,5,6,7,8,9,10};
ArrayList<Integer> L = new ArrayList<Integer>();
for (int i = 0; i < a.length; i++) {
L.add(a[i]);
}
int i = 3; // 在第3个位置插入元素33
L.add(i, 33);
System.out.println("插入元素后的结果为:");
for (int j = 0; j < L.size(); j++) {
System.out.print(L.get(j) + " ");
}
}
}
```