为什么我的代码打印每个数字

Why is my code printing every number?

本文关键字:数字 打印 我的 代码 为什么      更新时间:2023-10-16

我编写了这段代码,它从用户那里读取 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;
}

在循环中的if之后有一个虚假;

当您始终在if和类似的控制结构上使用{}而不是依赖"一行异常"时,此错误不太可能发生。

if (integer[i]>=average);末尾包含一个分号,从而消除了其控制其后面的打印语句的能力。打开编译器上的警告级别,您将收到有关此的消息