使用C ++中的for循环从用户输入中查找最大和最小整数?

时间:2017-01-20 21:25:49

标签: c++ loops for-loop max min

以下代码旨在要求用户指定他们想要输入的整数数,然后查找并显示它们之间的最大值和最小值。但是,它没有编译,可能是因为我初始化minInt和maxInt变量的方式,但我不确定。请帮忙!提前谢谢!

#include <iostream>
using namespace std;
int main()

{
        int inNum, inInt, minInt, maxInt, i;

        minInt = INT_MAX;
        maxInt = INT_MIN;
        cout << "How many numbers would you like to enter?" << endl;
        cin >> inNum;
        cout << "Please enter " << inNum << " integers." << endl;
        for(i = 0 ; i < inNum; i++)
        {
                cin >> inInt >> endl;
                if(inInt > maxInt)
                {
                        maxInt = inInt;
                }
                if(inInt < minInt)
                {
                        minInt = inInt;
                }
        }
        cout << "min: " << minInt << endl;
        cout << "max: " << maxInt << endl;
        return 0;
}

2 个答案:

答案 0 :(得分:3)

这是你的问题:

cin >> inInt >> endl;

您不需要在此endl

cin >> inInt;

答案 1 :(得分:0)

我发现了2个错误:

    未包含
  1. <climits>,其中INT_MAXINT_MIN已定义
  2. cin不支持endl
  3. 所以代码应该是如此:

    #include <iostream>
    #include <climits>
    
    using namespace std;
    int main()
    {
        int inNum, inInt, minInt, maxInt, i;
    
        minInt = INT_MAX;
        maxInt = INT_MIN;
        cout << "How many numbers would you like to enter?" << endl;
        cin >> inNum;
        cout << "Please enter " << inNum << " integers." << endl;
        for(i = 0 ; i < inNum; i++)
        {
                //Error 3: cin >> inInt >> endl; cin does not support endl
                cin >> inInt;
                if(inInt > maxInt)
                {
                        maxInt = inInt;
                }
                if(inInt < minInt)
                {
                        minInt = inInt;
                }
        }
        cout << "min: " << minInt << endl;
        cout << "max: " << maxInt << endl;
        return 0;
    }