-1
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    string num[21];
    int amount_num;

    cout<< "How many numbers do you want? (max 20)\n";
    cin>> amount_num;

    if (amount_num<= 0 || amount_num >= 22)
    {
        cout << "Invalid size.  Ending.\n";
    }
    for (int counter =0; counter < amount_num; counter++)
    {
        cout<< "Enter vaule "<< counter<< ":"<< endl;
        cin>> num[counter];
    }

    for(int t= 0; t< amount_num; t++)
    {
        int total;
        int average;
        total = total + num[t];
        average= total/ t;
        cout<< "Average: "<< average<< endl;
    }
    for(int x=0; x< amount_num; x++)
    {
        cout<< "You entered:"<< endl;
        cout<< num[x]<< endl;
    }
}

当我尝试将总数加 num[t] 相加时,不断弹出错误。它指出:error no operator+ in total+ num[t]。

4

2 回答 2

1

几件事:

  1. 您正在使用 的数组string,您应该使用 的数组float
  2. 如果你想要平均值,float那么变量total应该是 float而不是int
于 2013-08-02T20:26:09.840 回答
1

你可能想搬家

int total;
int average;

在你的循环之前和

average= total/ t;
cout<< "Average: "<< average<< endl;

在循环之后,否则您将继续重新定义变量,这只会破坏您的代码。total此外,您应该将变量声明average为 0。您的编译器应该已经对此发出警告。

如果你这样做,你最终会得到一个如下所示的代码:

int total = 0;
int average;

for(int t= 0; t< amount_num; t++)
{
    total = total + num[t];
}
average= total/ amount_num;
cout<< "Average: "<< average<< endl;

这应该可以解决您在返回多个结果时遇到的问题。

于 2013-08-02T21:44:07.277 回答