用c++定义一个函数,计算一个整型数组的平均值。函数声明为int aver(int a[]);
时间: 2024-04-30 19:20:29 浏览: 11
下面是用 C 语言定义一个函数,计算一个整型数组的平均值,函数声明为 `int aver(int a[])`:
```c
int aver(int a[]) {
int sum = 0;
int len = sizeof(a) / sizeof(int);
for (int i = 0; i < len; i++) {
sum += a[i];
}
return sum / len;
}
```
这个函数首先定义了一个 `sum` 变量,用于存储数组中所有元素的和。然后,它计算数组的长度 `len`,这里使用了 `sizeof` 运算符,它返回一个指定类型的内存大小,单位是字节。因为数组元素的类型是 `int`,所以 `sizeof(int)` 表示一个 `int` 类型的内存大小,而 `sizeof(a)` 表示整个数组的内存大小。将两者相除,就得到了数组的长度。接下来,用一个循环将所有元素的值累加到 `sum` 中。最后,返回 `sum` 除以数组长度的结果,即为数组的平均值。
相关问题
功能:有若干个数放入数组中,计算其中正数的平均值aver.C++函数 #include <iostream> #include <fstream> Moine pamesnace std.
您好,以下是计算正数平均值的 C++ 代码示例:
```c++
#include <iostream>
#include <fstream>
using namespace std;
double calculatePositiveAverage(int arr[], int size) {
int sum = 0, count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > 0) {
sum += arr[i];
count++;
}
}
if (count == 0) {
return 0; // 如果没有正数,则返回0
}
return (double)sum / count;
}
int main() {
const int SIZE = 5;
int arr[SIZE] = {-1, 2, -3, 4, 5};
double aver = calculatePositiveAverage(arr, SIZE);
cout << "The positive average is: " << aver << endl;
return 0;
}
```
代码解释:
- `calculatePositiveAverage()` 函数接受一个整数数组和数组大小作为参数,计算正数的平均值并返回结果。
- 在 `calculatePositiveAverage()` 函数中,使用一个循环遍历数组中的每个元素,如果发现该元素是正数,就将其加入到累加器 `sum` 中,并将计数器 `count` 加 1。
- 在循环结束后,如果 `count` 的值为 0,则说明数组中没有正数,此时函数返回 0。
- 否则,函数返回 `sum / count` 的值,即正数的平均值。
- 在 `main()` 函数中,创建一个大小为 5 的整数数组,并调用 `calculatePositiveAverage()` 函数来计算正数的平均值,并将结果输出到控制台。
希望能对您有所帮助。
100个数据给数组int a[100]赋值,并在屏幕上输出(每行10个元素)。 2)使用函数 double isaver(int *p,int num) { } 求数组a中所有数组元素平均值。
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
void printArray(int *p, int num) {
for (int i = 0; i < num; i++) {
cout << p[i] << " ";
if ((i + 1) % 10 == 0) {
cout << endl;
}
}
}
double isaver(int *p,int num) {
double sum = 0;
for (int i = 0; i < num; i++) {
sum += p[i];
}
return sum / num;
}
int main() {
int a[100];
for (int i = 0; i < 100; i++) {
a[i] = i + 1;
}
printArray(a, 100);
double aver = isaver(a, 100);
cout << "average: " << aver << endl;
return 0;
}
```
输出结果如下:
```
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 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99 100
average: 50.5
```