c++比较无限制输入的值

C++ compare values with unlimited input

本文关键字:输入 无限制 比较 c++      更新时间:2023-10-16

这是一个赋值。我被要求写一个程序来比较无限数量输入的值。输入以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。我怎样才能使它准确呢?

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