我在尝试计算涉及数组的总和和平均值时遇到问题
I'm having trouble trying to calculate the sum and average involving an array
我正在尝试计算某些值的总和和平均值,例如:
值列表:1.0 2.0 3.0 4.0
然后,在我输入-1.0的哨兵值后,它计算出2.5的平均值。但是,我最终得到了长的负数(-9255963134931 ...)。我是阵列的新手,并且对如何获得所需的输出感到困惑。任何帮助都将受到赞赏。(如何使用else语句找到中间值?)
#include <iostream>
#include<iomanip>
using namespace std;
int main()
{
int i, count=0;
double scores [10];
double value;
double sum=0.0;
cout << "Author: J. Soton";
cout << fixed << showpoint << setprecision(1);
cout<<"Input -1.0 when you are ready to stop."<<endl;
cout<<"Input a value: ";
cin>>value;
while(value!= -1.0 && count<10) {
scores [count] = value;
count = count + 1;
cout<<"Input a value: ";
cin>> value;
}
cout<<"nYou entered "<<count<<" values"<<endl;
for(i=0; i<count; i++) {
cout << setw(6) << scores[i];
sum= value+scores[count];
cout << "nnThe average of the values is:" << sum << endl;
}
return 0;
}
scores[count]
将是一个垃圾值,因为count
是10点。
我认为您想要的是
sum += scores[i];
然后平均将是(循环结束后)
sum / count
您在最终循环中需要这样的东西:
for (i=0; i<count; i++)
{
cout<<setw(6)<< scores[i];
sum += scores[i];
}
cout<<"nnThe average of the values is:"<< (sum / count) <<endl;
因此,您通过添加每个score[i]
来累积sum
,最后,将sum
除以count
以给出平均值。
我相信sum/count会更适合您打算做的事情。
尝试添加
cout<<"nnThe average of the values is:"<< (sum / count) <<endl;
for循环后,因此平均值将得到正确计算,并且仅一次。
相关文章:
- 警告处理为错误这里有什么问题
- 最小硬币更换问题(自上而下方法)
- 为"adjacent"变量赋值时出现问题
- 我的神经网络不起作用 [XOR 问题]
- 计算数组c++的平均值
- 在Ubuntu 16.04上安装Cilk时出现问题
- C++我的数学有什么问题,为什么我的代码不能正确循环
- 编译包含字符串的代码时遇到问题
- Project Euler问题4的错误解决方案
- 问题:什么是QAbstractItemView::NoEditTriggers的反面
- 在编译C++代码(具有dlib和opencv)到WASM时面临问题
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 静态数据成员的问题-修复链接错误会导致编译器错误
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 一个关于在C++中重载布尔运算符的问题
- 首要问题的答案让值班员搞错了
- setlocale的C++土耳其字符串问题
- 对数组求平均值有问题
- 将军事时间转换为标准格式(HH:MM)并以标准格式计算平均值.三个问题
- c++中查找某些变量的平均值、最大值和循环计数的问题