定义求和子函数求矩阵四周所有元素之和数组
时间: 2024-06-14 14:03:50 浏览: 15
以下是求矩阵四周所有元素之和数组的Python代码:
```python
def calculateSurroundingSum(matrix):
row, col = len(matrix), len(matrix[0])
result = [0] * row
for i in range(row):
for j in range(col):
if i == 0 or i == row - 1 or j == 0 or j == col - 1:
result[i] += matrix[i][j]
return result
```
该函数接受一个二维数组 `matrix` 表示矩阵,返回一个一维数组 `result`,其中 `result[i]` 表示矩阵第 `i` 行四周所有元素之和。
函数首先获取矩阵的行数和列数,然后初始化一个长度为行数的数组 `result`,用于存储每一行四周所有元素之和。接着,函数使用两个嵌套的循环遍历矩阵的每一个元素,如果该元素位于矩阵的四周,则将其加入到对应行的 `result` 中。最后,函数返回 `result` 数组。
相关问题
定义求和子函数求矩阵四周所有元素之和数组C语言
以下是定义求和子函数求矩阵四周所有元素之和数组C语言的示例代码:
```c
#include <stdio.h>
// 定义求和子函数
int sum(int arr[], int n) {
int s = 0;
for (int i = 0; i < n; i++) {
s += arr[i];
}
return s;
}
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sumArr[4] = {0}; // 初始化为0
// 求第一行和最后一行的和
for (int i = 0; i < 3; i++) {
sumArr[0] += matrix[0][i];
sumArr[2] += matrix[2][i];
}
// 求第一列和最后一列的和
for (int i = 0; i < 3; i++) {
sumArr[1] += matrix[i][0];
sumArr[3] += matrix[i][2];
}
// 输出结果
printf("四周元素之和分别为:");
for (int i = 0; i < 4; i++) {
printf("%d ", sumArr[i]);
}
return 0;
}
```
问题描述 求矩阵四周所有元素之和。要求定义求和子函数。 输入描述 第1行是一个整数n,表示矩阵的行数,n的取值范围在1到100之间。 第2行到第n+1,每行4个整数,表示矩阵一行有4个数。 输出描述 一个整数,表示矩阵四周元素之和。 样例输入 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 样例输出 30用C原因怎么编写
以下是一种可能的 C 语言实现方式:
```c
#include <stdio.h>
#define MAX_N 100
// 定义求和子函数
int sum(int a[], int n) {
int s = 0;
for (int i = 0; i < n; i++) {
s += a[i];
}
return s;
}
int main() {
int n;
int a[MAX_N][4];
scanf("%d", &n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < 4; j++) {
scanf("%d", &a[i][j]);
}
}
int ans = 0;
for (int i = 0; i < n; i++) {
ans += a[i][0] + a[i][3]; // 加上每行的左右两个元素
}
for (int j = 1; j < 3; j++) {
int b[MAX_N];
for (int i = 0; i < n; i++) {
b[i] = a[i][j]; // 取出每列的上下两个元素
}
ans += sum(b, n); // 加上每列的上下两个元素之和
}
printf("%d\n", ans);
return 0;
}
```
首先定义一个求和子函数 `sum()`,用于计算一个整型数组的元素之和。然后定义一个二维数组 `a`,用于存储输入的矩阵。按行读入矩阵元素。然后遍历矩阵的四条边,分别计算每行的左右两个元素之和,以及每列的上下两个元素之和,最后将它们相加得到矩阵四周元素之和。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)