求出二维数组周边元素之和,作为函数值返回
时间: 2023-04-29 20:03:22 浏览: 120
可以使用以下代码来求出二维数组周边元素之和:
```python
def sum_of_border(arr):
m, n = len(arr), len(arr[0])
s = 0
for i in range(m):
for j in range(n):
if i == 0 or i == m-1 or j == 0 or j == n-1:
s += arr[i][j]
return s
```
其中,`arr` 是一个二维数组,`m` 和 `n` 分别表示数组的行数和列数。在循环中,如果当前元素位于数组的边界上,则将其加入到总和 `s` 中。最后返回总和 `s` 即可。
相关问题
C语言编写函数功能是求出二维数组周边元素之和作为函数值返回
可以编写一个函数,其参数为一个二维数组和数组的行数和列数,函数的功能是求出二维数组周边元素之和作为函数值返回。函数的代码如下:
```c
int sum_of_surrounding_elements(int arr[][N], int rows, int cols)
{
int sum = 0;
int i, j;
for (i = 0; i < rows; i++)
{
for (j = 0; j < cols; j++)
{
if (i == 0 || i == rows-1 || j == 0 || j == cols-1)
{
sum += arr[i][j];
}
}
}
return sum;
}
```
在这个函数中,我们首先定义一个变量 `sum` 来保存周边元素的和,然后使用两个嵌套的循环来遍历整个数组。对于每个元素,我们判断它是否在数组的周边,如果是,则将其加入到 `sum` 中。最后,我们返回 `sum` 作为函数的值。注意,这个函数中的 `N` 应该被替换成一个具体的数值,表示数组的列数。
请编写函数 fun,函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组
题意理解:
本题要求编写一个函数,函数的输入是一个二维数组,输出是该二维数组的周边元素之和。
二维数组的周边元素指的是二维数组的最外层元素,包括左上角、右上角、左下角、右下角以及四周的边界。
函数实现:
本题可以通过两个循环实现,首先我们需要求出二维数组的行数和列数,然后遍历每一个元素,如果当前元素在周边位置上,则将其加入到周边元素之和中。
具体的函数代码如下:
```python
def fun(arr):
m, n = len(arr), len(arr[0]) # 获取二维数组的行数和列数
res = 0 # 周边元素之和
for i in range(m):
for j in range(n):
if i == 0 or i == m - 1 or j == 0 or j == n - 1:
res += arr[i][j] # 如果当前元素在周边位置上,则将其加入到周边元素之和中
return res
```
测试样例:
下面是对函数的测试样例进行验证:
```python
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 二维数组
print(fun(arr)) # 输出函数的返回值,期望输出为 1+2+3+4+6+7+8+9=40
```
代码输出结果:
```python
40
```
因此,我们可以看到函数返回的值与期望输出值相同,函数实现正确。