c语言求二维数组周边元素和
时间: 2023-12-20 19:29:40 浏览: 84
以下是C语言求二维数组周边元素和的代码示例:
```c
#include <stdio.h>
#define M 3
#define N 3
int fun(int arr[M][N]) {
int sum = 0;
for (int i = 0; i < M; i++) {
for (int j = 0; j < N; j++) {
if (i == 0 || i == M - 1 || j == 0 || j == N - 1) {
sum += arr[i][j];
}
}
}
return sum;
}
int main() {
int arr[M][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int sum = fun(arr);
printf("The sum of the elements around the array is: %d\n", sum);
return 0;
}
```
在上面的代码中,我们首先定义了一个二维数组`arr`,然后调用`fun`函数计算二维数组周边元素的和,并将结果存储在`sum`变量中。最后,我们在主函数中输出了计算结果。
相关问题
编写函数,求出二维数组周边元素之和。用C语言编写
好的,以下是用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
```
用c语言编写函数:求出某二维数组周边元素之和
以下是用 C 语言编写的函数,可以计算二维数组周围元素之和:
```c
#include <stdio.h>
// 宏定义数组行列数
#define ROW 4
#define COL 4
// 计算周边元素之和
int sumSurrounding(int arr[ROW][COL], int row, int col) {
int sum = 0;
int i, j;
for (i = row - 1; i <= row + 1; i++) {
for (j = col - 1; j <= col + 1; j++) {
if (i >= 0 && i < ROW && j >= 0 && j < COL && (i != row || j != col)) {
sum += arr[i][j];
}
}
}
return sum;
}
int main() {
int arr[ROW][COL] = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12},
{13, 14, 15, 16}};
int row = 1, col = 2;
int sum = sumSurrounding(arr, row, col);
printf("sum = %d\n", sum);
return 0;
}
```
这个程序中,`sumSurrounding` 函数计算周围元素之和。它接收一个二维数组 `arr`、一个行索引 `row` 和一个列索引 `col`,返回周围元素之和。在函数内部,我们使用两个循环遍历 `arr` 周围的元素,并将它们的和累加到 `sum` 变量中。注意,我们使用 `if` 语句来确保我们只计算有效的周围元素。最后,我们在 `main` 函数中调用 `sumSurrounding` 函数,传入一个示例数组和一个行列索引,以计算周围元素之和。