为什么我的代码会打印每个号码?

xma*_*fin -1 c++ arrays average

我编写了这段代码,从用户读取10个整数,将它们存储在一个数组中,然后计算并打印平均值.它还应该打印数组中大于或等于平均值​​的数字.相反,我的代码打印出数组中的每个数字.我怎样才能解决这个问题?

此外,如果任何人有关于如何简化此代码的任何提示,那么也将非常感激.

#include <iostream>

using namespace std;

int main()
{
    const int ENTER_NUM = 10;
    int integer[ENTER_NUM];

    cout << "Enter "<<ENTER_NUM<<" numbers: "<<endl;
    cin >> integer[0];
    cin >> integer[1];
    cin >> integer[2];
    cin >> integer[3];
    cin >> integer[4];
    cin >> integer[5];
    cin >> integer[6];
    cin >> integer[7];
    cin >> integer[8];
    cin >> integer[9];

    int sum;
    sum = integer[0]+integer[1]+integer[2]+integer[3]+integer[4]+integer[5]+integer[6]+integer[7]+integer[8]+integer[9];

    int average;
    average = sum/ENTER_NUM;

    cout<<"Average is: "<<average<<endl;

    for(int i=0; i<10; i++)
    {
            if (integer[i]>=average);
            cout<<"Number in array greater than or equal to the average: "<<integer[i]<<endl;
    }

return 0;
}
Run Code Online (Sandbox Code Playgroud)

Nob*_*ody 5

在循环;之后你有一个假if的.

如果你总是用{}ifS和类似的控制结构,而不是依靠"一行例外",这个错误是不太可能发生的.