C++ 我需要计算用户写入的数字的平均值,但当我尝试时,它告诉我平均值总是0

C++ 我需要计算用户写入的数字的平均值,但当我尝试时,它告诉我平均值总是0,c++,arrays,visual-studio,C++,Arrays,Visual Studio,我需要计算用户写入的数字的平均值,但当我尝试时,它告诉我平均值总是0 #include<iostream> using namespace std; int main() { float Prices[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int n, Avr, i; float PrzVar; do { cout << "Inserire la quantit&

我需要计算用户写入的数字的平均值,但当我尝试时,它告诉我平均值总是0

#include<iostream>
using namespace std;

int main() {

    float Prices[10] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

    int n, Avr, i;
    float PrzVar;

    do {

        cout << "Inserire la quantit" << (char)133 << " di prezzi di cui fare la media: ";
        cin >> n;

    }
    while (n < 1 || n > 10);

    for (i = 0; i < n; i++) {

        cout << "Inserire il " << i + 1 << (char)167 << " prezzo: ";
        cin >> Prices[i];

    }

    PrzVar = Prices[i];
    Avr = PrzVar / n;

    cout << "La media dei prezzi inseriti corrisponde a: " << Avr;

}
#包括
使用名称空间std;
int main(){
浮动价格[10]={0,0,0,0,0,0,0,0,0,0,0};
int n,Avr,i;
浮动伪零电压;
做{
cout(10);
对于(i=0;i难道你想在for循环中用Prices[i]的值增加PrzVar,然后除以它吗?目前你正在将它设置为0,因为在for循环中i已增加到n的值(这将是0,或者是该程序中不存在元素的例外情况)

如果是这样的话,你应该考虑在for循环中声明变量以避免进一步混淆。例如:

for (int i = 0; i < n; i ++)
{
   // ...
}
for(int i=0;i
n个数的平均值=(数之和)/(数)

在您的代码中,存在以下问题:

  • 我猜您打算使用
    PrzVar
    来存储sum,但您将其置于循环之外
  • 另外,
    PrzVar
    必须初始化为
    0
  • 您的最终答案存储在
    Avr
    中,但它是一个整数,因此在某些情况下您可能会得到一些舍入
  • 这是固定代码

    #包括
    使用名称空间std;
    int main(){
    浮动价格[10]={0,0,0,0,0,0,0,0,0,0,0};
    int n;
    float PrzVar=0;//将sum变量初始化为0
    做{
    cout(10);
    对于(int i=0;i你能准确地解释一下平均价格是如何计算的吗?通常,平均价格会包含某种类型的总和。
    PrzVar=Prices[i];Avr=PrzVar/n;
    -在这里设置断点。什么是
    i
    ?而且
    n
    似乎是
    int
    ,产生一个整数除法,你需要将它转换为
    float
    @raymondc当我设置断点时,它告诉我i等于5@NathanPierson我需要知道如何计算数组中的数字之和。我做到了,但现在是专业的gram没有运行,可能是因为我已经首先声明了变量I?您应该将
    I
    PrzVar
    Avr
    的声明移动到
    float PrzVar=0;对于(int I=…)
    float Avr=PrzVar/n