编写函数,求出二维数组周边元素之和。用C语言编写
时间: 2024-02-28 10:54:53 浏览: 105
好的,以下是用C语言编写的函数,可以实现求出二维数组周边元素之和。
```c
int sum_of_boundary(int arr[][N], int m, int n) {
int sum = 0;
int i, j;
// 求上下边界元素之和
for (j = 0; j < n; j++) {
sum += arr[0][j];
sum += arr[m - 1][j];
}
// 求左右边界元素之和
for (i = 1; i < m - 1; i++) {
sum += arr[i][0];
sum += arr[i][n - 1];
}
return sum;
}
```
其中,arr是一个二维数组,m和n分别表示数组的行数和列数,N是数组列数的常量定义。
使用方法示例:
```c
#include <stdio.h>
#define N 4
int sum_of_boundary(int arr[][N], int m, int n);
int main() {
int arr[][N] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int m = sizeof(arr) / sizeof(arr[0]);
int n = sizeof(arr[0]) / sizeof(arr[0][0]);
int sum = sum_of_boundary(arr, m, n);
printf("二维数组周边元素之和为:%d\n", sum);
return 0;
}
int sum_of_boundary(int arr[][N], int m, int n) {
int sum = 0;
int i, j;
// 求上下边界元素之和
for (j = 0; j < n; j++) {
sum += arr[0][j];
sum += arr[m - 1][j];
}
// 求左右边界元素之和
for (i = 1; i < m - 1; i++) {
sum += arr[i][0];
sum += arr[i][n - 1];
}
return sum;
}
```
输出结果:
```
二维数组周边元素之和为:56
```
阅读全文