从数组中计算平均值
Calculate average from an array
我试图计算平均值,当我输入 1 2 3 0 时,平均值是 2.00,但当我输入 10 20 90 100 0 时,平均值是 227871776.00。我无法确定这里出了什么问题。我觉得我的总和和计数无法正常工作,但我不知道为什么。
double calculateAverage(int numbers[], int count )
{
int sum = 0;
double average;
while (count < arraysize && numbers[count] != 0)
{
count ++;
}
for (int i= 0 ; i < count; i++)
{
sum += numbers[i];
}
average = static_cast<double>(sum) /count;
return average;
}
当你有std:accumulate
时,为什么还要制作自己的计数循环。
#include <numeric>
#include <iostream>
double calculateAverage(int numbers[], size_t count)
{
int sum = std::accumulate(numbers, numbers + count, 0);
return sum / count;
}
int main()
{
//int numbers[] = {1, 2, 3, 4, 5};
int numbers[] = {10, 20, 90, 100};
std::cout << "average is " <<
calculateAverage(numbers, sizeof(numbers) / sizeof(int)) << 'n';
}
您的代码非常混乱。如果您无论如何都要对数组进行计数,为什么要传递计数?同样,0 是数组中的有效值,因此它会产生有缺陷的哨兵值。
#include<iostream>
using namespace std;
double calculateAverage(int numbers[], int count )
{
int sum = 0; //sum is used to add all the values in the array
double average;
for (int i= 0 ; i < count; i++)
sum += numbers[i];
average = static_cast<double>(sum) /count;
return average;
}
int main()
{
int lim; //size of the array
cout<<"Enter the number of elements in arrayn";
cin>>lim;
cout<<"Enter the values n";
int num[lim]; //the array is initialized to desired size
for(int i=0;i<lim;i++)
cin>>num[i]; //the values are taken from user
cout<<"nAverage = "<<calculateAverage(num,lim)<<"n"; //the array and the size of array is passed to calculate average function or you can even calculate size of array using (sizeof(array)/sizeof(array[firstelement])
return 0;
}
整体重新创建代码
很难理解(你的代码)。
矿山:
double calculateAverage(double numbers[], double count )
{
double sum = 0;
double average=0;
for(int counter=0;counter<count;counter++)
{
sum+=numbers[counter];
}
cout<<sum<<"n";
average=sum/count;
return average;
}
解释:
首先,该函数将采用一个双精度
数组计数是数组中有多少(我试图坚持你的代码)
for 循环基于计数变量运行。
总和将数组编号中元素的值相加。
除以得到平均值。
>当您在数组中较早出现 0 时,numbers[count] != 0
可能会产生错误。另外,你在哪里初始化数组大小?它可能以某种方式为空或非常奇怪的数字。我建议改为调用数字长度。但是没有理由使用 while 循环 bc 你有一个已知的数组大小
相关文章:
- 计算平均值,不包括上次得分
- 如何创建一个函数来计算并返回平均值、最大值和最小值
- 在二叉搜索树C++中计算平均值
- 我们如何并行运行算法的 n 个实例并以有效的方式计算结果函数的平均值?
- 我可以计算多线程数的平均值吗?
- 计算另一个图像像素满足条件的像素值的平均值
- 如何计算和显示C++中5个数字的平均值?
- 计算平均值:蒙版图像与投资回报率的不同结果
- 类型检测:使用variadic参数正确实现计算平均值的函数
- C 平均程序在循环时不计算n后不计算平均值
- C++ - 计算"for"函数中的平均值
- 计算用于CAFFE分类的HDF5数据集的平均值
- 如何使用多尺寸阵列计算C 中每个学生的平均值
- 如何计算结构阵列内的平均值
- 我需要以尺寸方式计算数组的平均值
- 我必须将 5 个数字放入一个数组中,而不是 cin 计算平均值并输出它,我做错了
- 我需要知道如何正确计算平均值和偏差
- 计算数组中特定线的平均值并存储在另一个数组中
- 如何使用不同的功能计算三个数字的总和,平均值和产物
- 浮点数组的中间模式平均值计算