用c++定义一个函数,计算一个整型数组的平均值。函数声明为int aver(int a[]);
时间: 2024-05-01 17:20:44 浏览: 252
以下是使用c语言定义一个函数,计算一个整型数组的平均值的代码:
```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;
}
```
在这个函数中,我们使用了一个循环来计算整型数组中所有元素的和,并且通过数组的长度来计算平均值,最后将平均值作为函数的返回值。注意,在函数调用时,需要将整型数组作为参数传递给函数,例如:
```c
int main()
{
int a[5] = {1,2,3,4,5};
int result = aver(a);
printf("The average value of this array is %d", result);
return 0;
}
```
这段代码将会输出:The average value of this array is 3。
相关问题
)用dat1.dat中的前100个数据给数组int a[100]赋值,并在屏幕上输出(每行10个元素)。 2)使用函数 double isaver(int *p,int num) { } 求数组a中所有数组元素平均值。 3)把该函数放在头文件ISaver.h中以便在主函数中调用该函数。把所有小于平均值的数组元素(每行10个元素)和小于平均值的数组元素个数输出出来。
1)代码实现如下:
```c++
#include <iostream>
#include <fstream>
#include "ISaver.h"
using namespace std;
int main() {
int a[100];
ifstream fin("dat1.dat");
for (int i = 0; i < 100; i++) {
fin >> a[i];
cout << a[i] << " ";
if ((i + 1) % 10 == 0) cout << endl;
}
fin.close();
return 0;
}
```
2)代码实现如下:
```c++
double isaver(int *p, int num) {
double sum = 0;
for (int i = 0; i < num; i++) {
sum += p[i];
}
return sum / num;
}
```
3)ISaver.h头文件代码实现如下:
```c++
#ifndef ISAVER_H
#define ISAVER_H
double isaver(int *p, int num);
#endif
```
主函数中调用该函数的代码如下:
```c++
#include <iostream>
#include <fstream>
#include "ISaver.h"
using namespace std;
int main() {
int a[100];
ifstream fin("dat1.dat");
for (int i = 0; i < 100; i++) {
fin >> a[i];
}
fin.close();
double aver = isaver(a, 100);
cout << "平均值为:" << aver << endl;
int count = 0;
cout << "小于平均值的元素为:" << endl;
for (int i = 0; i < 100; i++) {
if (a[i] < aver) {
cout << a[i] << " ";
count++;
if (count % 10 == 0) cout << endl;
}
}
cout << endl;
cout << "小于平均值的元素个数为:" << count << endl;
return 0;
}
```
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
```
阅读全文