C ++将值与无限输入进行比较

时间:2015-10-17 18:10:50

标签: c++ numbers int compare min

这是一项任务。我被要求编写一个比较无限数量输入值的程序。输入以0结尾。我必须显示计算的最小数量的数量。以下是我目前的代码:

#include <iostream>
#include <limits>
using namespace std;
int main()
{
    int num,minct=0,temp=0;
    int min = std::numeric_limits<int>::max();
    cout<<"Enter numbers:";
    do{
        cin>>num;
        if (num<=min &&num!=0){
            min=num;
            minct++;
        }

    }
    while(num!=0);

    cout<<"The smallest number is " << min<<" ."<<endl;
    cout<<"The occurrence count of the smallest number is "<<minct<<" ."<<endl;
    return 0;
}

在此代码中,当最小数不在第一个输入中时,计数的数字总是比实际值大1。我怎样才能让它准确?

1 个答案:

答案 0 :(得分:0)

if(num<=min && num!=0){
    if(num<min) {
        min=num;
        minct=1;
    }
    else if(num==min) {
        minct++;
    }
}