首页 > 解决方案 > C++ 数组返回不正确的数字

问题描述

我的代码是一个程序,它允许用户将十个数字输入到一个数组中,然后程序会显示输入的最大和最小数字。我的代码适用于最小的数字,但每次运行它时都会显示最大的数字“4254729”。

从昨天开始,我一直在研究它,换了东西并尝试了不同的输入,但没有任何效果。

#include <iostream>

using namespace std;

int main()
{
    //defining my variables
    int numbers[10];
    int smallest = 0;
    int largest = 0;
    int temporary = 0;

    //beginning of my for loop to let the user enter numbers into the array
    for (int i = 0; i < 10; i++)
    {
        cout << "Please enter number " << i+1 << " : "<< endl << endl;
        cin >> numbers[i];
        cout << endl;
    }

    //assining the smallest and largest numbers to the first numbers in the array
    smallest = numbers[0];
    largest = numbers[0];

    //beginning of for loop to compare the numbers entered
    for (int i = 1; i <= 10; i++)
    {
        temporary = numbers[i];
        if (temporary > largest)
            largest = temporary;

        if(temporary < smallest)
            smallest = temporary;
    }

    //cout statements to display the largest and smallest numbers entered
    cout << "The largest number entered is: " << largest << endl << endl;
    cout << "The smallest number entered is: " << smallest << endl << endl;

    return 0;
}

我希望显示的最大数字反映用户输入的最大数字,但每次运行程序时都会显示“4254729”作为最大数字。

标签: c++arraysoutput

解决方案


嗨,如果您在问题中添加您的输入会更好,但我修复了一些东西,也许会起作用。

//beginning of for loop to compare the numbers entered
for (int i = 1; i < 10; i++) //I change i<=10 to <
{
    temporary = numbers[i];
    if (temporary > largest)
        largest = temporary;

    else if (temporary < smallest) //Here I put else
        smallest = temporary;
}

推荐阅读