C语言请编写函数fun(),函数的功能是:求出某个二维数组(如5行5列)的周边元素值之和,作为函数值返回。输入要求输入:第一行为一个整数n,代表数组维数。第二行开始为二维数组赋值。 输出:周边元素之和。
时间: 2024-01-22 08:21:27 浏览: 30
以下是函数fun()的实现:
```c
#include <stdio.h>
int fun(int n, int arr[n][n]) {
int sum = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || i == n - 1 || j == 0 || j == n - 1) { // 判断是否为边上的元素
sum += arr[i][j];
}
}
}
return sum;
}
int main() {
int n;
scanf("%d", &n);
int arr[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
int sum = fun(n, arr);
printf("%d", sum);
return 0;
}
```
函数fun()通过遍历数组的每个元素,判断其是否为边上的元素,如果是则累加到sum变量中。最后返回sum作为周边元素之和。在主函数中,先输入数组的维数n,再输入二维数组的值,并调用fun()函数计算周边元素之和并输出。
相关问题
用C语言请编写函数fun(),函数的功能是:求出某个二维数组(如5行5列)的周边元素值之和,作为函数值返回。
以下是用C语言编写的函数fun(),它可以求出某个二维数组的周边元素值之和:
```c
int fun(int arr[][5], int row, int col) {
int sum = 0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if (i == 0 || j == 0 || i == row - 1 || j == col - 1) {
sum += arr[i][j];
}
}
}
return sum;
}
```
在这个函数中,arr是一个二维数组,row和col是数组的行数和列数。函数中的两个for循环遍历整个数组,如果当前元素是数组的边界元素,就将它的值加到sum变量中。最后,函数返回sum作为周边元素值之和。
C语言请编写函数fun(),函数的功能是:求出某个二维数组(如5行5列)的周边元素值之和,作为函数值返回。
好的,下面是C语言代码实现:
```c
#include <stdio.h>
int fun(int arr[][5], int row, int col) {
int sum = 0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if (i == 0 || i == row - 1 || j == 0 || j == col - 1) {
sum += arr[i][j]; // 累加周边元素值
}
}
}
return sum;
}
int main() {
int arr[5][5] = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}
};
int sum = fun(arr, 5, 5);
printf("周边元素值之和为:%d\n", sum);
return 0;
}
```
运行结果如下:
```
周边元素值之和为:121
```
函数`fun`的参数为一个二维数组、行数和列数,函数的返回值是周边元素值之和。在函数中,使用两重循环遍历二维数组,当元素位于数组的第一行、最后一行、第一列或最后一列时,将其值累加到`sum`中。最后返回`sum`作为函数值。在`main`函数中调用`fun`函数并输出结果。