用c++语言统计数组中大于数组元素平均值的元素的个数。 要求:主函数定义一维整型数组a[10] ={12,34,56,78,90,9,87,65,43,21},调用自定义函数统计大于数组元素平均值的元素的个数,并在主函数中输出结果。
时间: 2024-05-05 13:15:07 浏览: 46
```c
#include <stdio.h>
int countGreaterThanAvg(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
double avg = (double)sum / size;
int count = 0;
for (int i = 0; i < size; i++) {
if (arr[i] > avg) {
count++;
}
}
return count;
}
int main() {
int a[10] = {12, 34, 56, 78, 90, 9, 87, 65, 43, 21};
int count = countGreaterThanAvg(a, 10);
printf("The number of elements greater than average is: %d\n", count);
return 0;
}
```
相关问题
编一通用函数avernum,计算含有n个数据的一维数组的平均值,并统计此数组中大于平均值的数据的个数; 主函数中定义含有100个元素的数组x,x[i]=200*cos(i*0.875)(i=0,1,2…99),调用上述函数,输出此数组的平均值及大于平均值的数据的个数。(注:此程序不允许使用全局变量,不允许在avernum函数中输出)
以下是avernum函数的代码:
```c++
void avernum(double arr[], int n, double& avg, int& count) {
double sum = ;
for (int i = ; i < n; i++) {
sum += arr[i];
}
avg = sum / n;
count = ;
for (int i = ; i < n; i++) {
if (arr[i] > avg) {
count++;
}
}
}
```
主函数中的代码如下:
```c++
int main() {
const int n = 100;
double x[n];
for (int i = ; i < n; i++) {
x[i] = 200 * cos(i * .875);
}
double avg;
int count;
avernum(x, n, avg, count);
cout << "平均值为:" << avg << endl;
cout << "大于平均值的数据个数为:" << count << endl;
return ;
}
```
输出结果为:
```
平均值为:-.000141421
大于平均值的数据个数为:50
```
c++编程实现:产生若干个[1,100]范围内的随机整数并存入某一维数组中,并按样张格式输出数组元素;求数组元素中奇数元素的个数、奇数元素的平均值、偶数元素的个数、偶数元素的平均值。要求:输出数组元素时,每行输出5个数,数据域宽为5。平均值保留两位小数。
以下是实现代码:
```cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
const int N = 20;
int main()
{
int nums[N]; // 声明一个大小为 N 的数组
srand(time(NULL)); // 设置随机数种子
// 产生随机整数并存入数组中
for (int i = 0; i < N; i++) {
nums[i] = rand() % 100 + 1;
}
// 输出数组元素
for (int i = 0; i < N; i++) {
cout << setw(5) << nums[i];
if ((i+1) % 5 == 0) {
cout << endl;
}
}
if (N % 5 != 0) {
cout << endl;
}
// 统计奇偶数个数和平均值
int oddCount = 0, evenCount = 0;
int oddSum = 0, evenSum = 0;
for (int i = 0; i < N; i++) {
if (nums[i] % 2 == 0) {
evenCount++;
evenSum += nums[i];
} else {
oddCount++;
oddSum += nums[i];
}
}
// 输出统计结果
cout << "奇数个数:" << oddCount << endl;
if (oddCount != 0) {
cout << "奇数平均值:" << fixed << setprecision(2) << static_cast<double>(oddSum) / oddCount << endl;
}
cout << "偶数个数:" << evenCount << endl;
if (evenCount != 0) {
cout << "偶数平均值:" << fixed << setprecision(2) << static_cast<double>(evenSum) / evenCount << endl;
}
return 0;
}
```
其中,`rand()` 函数用于产生随机数,`srand()` 函数用于设置随机数种子。`setw()` 函数用于控制输出宽度,`setprecision()` 函数用于控制输出小数点后的位数。最后,`static_cast<double>` 可以将整数类型转换为浮点数类型。
阅读全文