程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s
时间: 2023-03-30 09:02:21 浏览: 212
好的,这个问题我可以回答。请看下面的代码:
```c
#include <stdio.h>
double fun(int a[][N], int n) {
double sum = ;
int count = ;
for (int i = ; i < n; i++) {
for (int j = ; j < n; j++) {
if (i == || i == n - 1 || j == || j == n - 1) {
sum += a[i][j];
count++;
}
}
}
return sum / count;
}
int main() {
int a[N][N] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
double s = fun(a, N);
printf("The average value of the elements around the array is: %f\n", s);
return ;
}
```
这个程序定义了一个N×N的二维数组a,并在主函数中赋值。函数fun的功能是求出数组周边元素的平均值并作为函数值返回给主函数中的s。具体实现是,遍历数组a的所有元素,如果该元素在数组的周边,则将其加入sum中,并将count加1。最后返回sum/count即可。
相关问题
程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
以下是实现该功能的C语言代码:
```c
double fun(int arr[][N], int n) {
double sum = 0.0;
int count = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || j == 0 || i == n - 1 || j == n - 1) {
sum += arr[i][j];
count++;
}
}
}
return sum / count;
}
```
其中,函数的参数`arr`表示二维数组,`n`表示数组的维度,`sum`表示周边元素的和,`count`表示周边元素的个数。函数中使用两个循环遍历二维数组,如果当前元素位于数组的边缘,则将其值加入`sum`中,并将`count`加1。最后,函数返回`sum / count`即为周边元素的平均值。
用C语言编写下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun, 函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数
好的,下面是用C语言编写的程序,实现了你的要求:
```c
#include <stdio.h>
double fun(int arr[][n], int n) {
int sum = 0;
int count = 0;
// 计算上下左右四个边的元素之和
for (int i = 0; i < n; i++) {
sum += arr[0][i]; // 上边
sum += arr[n - 1][i]; // 下边
sum += arr[i][0]; // 左边
sum += arr[i][n - 1]; // 右边
count += 4;
}
// 排除重复计算的四个角的元素
sum -= (arr[0][0] + arr[0][n - 1] + arr[n - 1][0] + arr[n - 1][n - 1]);
count -= 4;
// 返回平均值
return (double)sum / count;
}
int main() {
int n;
printf("请输入数组的大小n:");
scanf("%d", &n);
int arr[n][n];
printf("请输入%d×%d的二维数组元素:\n", n, n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &arr[i][j]);
}
}
double avg = fun(arr, n);
printf("数组周边元素的平均值为:%.2f\n", avg);
return 0;
}
```
这段代码中,首先在 `fun` 函数中计算了数组周边元素的和,并将出现的元素个数累加到 `count` 变量中。然后,通过减去四个角的元素之和,排除了重复计算的部分。最后,将和除以元素个数得到平均值,并作为函数值返回给主函数。
在主函数中,首先读取了数组的大小 `n`,然后定义了一个 `n×n` 的二维数组 `arr` 并进行赋值。接下来,调用 `fun` 函数计算周边元素的平均值,并将结果打印输出。
阅读全文