在数字列表中搜索最小值和最大值

Searching min and max in list of numbers

我必须写一个程序,循环读取一个数字列表,直到用户给出数字 0。数字 0 不包括在计算中,只是结束数据的信号。下一个程序从数字字符串中写入最小和最大元素,以及输入的次数。例如 (2,3,1,5,4,2,3,1,5,1)

最少1次3次

最多5次2次

我对 number 有问题,因为当我有 max 并输入较小的数字时,我的 lmax 越来越高。第二个问题是程序不响应“0”。我做错了什么?

int number;
int min = 0;
int max = 0;
int lmin = 1;
int lmax = 1;
do {
    cout << "Number: ";
    cin >> number;

    if (min == 0 && max == 0) {
        min = number;
        max =  number;
    }

    else if (number > max && number !=0) {
        max = number;
        lmax = 1;
    }
    else if (number < min && number != 0) {
        min = number;
        lmin = 1;
    }
    else if (number = max) {
        lmax++;
    }
    else if (number = min) {
        lmin++;
    }


    } while (number != 0);

    cout << "Min " << min << " " << lmin << " times" <<endl;
    cout << "Max " << max << " " << lmax << " times" << endl;

}

您在部分解决方案中使用了 = 而不是 ==。尝试改变

else if (number = max) {

类似于

else if (number == max) {