统计数组中与全部元素平均值相同的元素的个数int fun(double *x,intn)
时间: 2024-01-22 12:18:44 浏览: 167
以下是一个实现统计数组中与全部元素平均值相同的元素个数的函数:
```c++
int fun(double *x, int n) {
double sum = 0.0;
for (int i = 0; i < n; i++) {
sum += x[i];
}
double avg = sum / n;
int count = 0;
for (int i = 0; i < n; i++) {
if (x[i] == avg) {
count++;
}
}
return 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`即为周边元素的平均值。
程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的s。
好的,这是一个比较简单的数组操作题目。下面是函数fun的代码实现:
```
double fun(int arr[][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 || i == N-1 || j == 0 || j == N-1) {
sum += arr[i][j];
count++;
}
}
}
return sum / count;
}
```
解释一下代码的思路:先定义一个sum变量来记录周边元素的和,count变量来记录周边元素的个数。然后用两个for循环遍历数组,判断当前元素是否在数组的边缘,如果是,就将该元素的值累加到sum中,并将count加1。最后返回sum除以count的平均值即可。
需要注意的是,函数的参数要写成int arr[][N],因为N是一个常量,不能直接写成int arr[10][10]这样的形式。
阅读全文