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

时间:2017-10-27 21:48:26

标签: c++ loops max min

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

最少1次

最多5次

我有数字的问题,因为当我有最大并输入较低的数字时,我的 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;

}

1 个答案:

答案 0 :(得分:2)

您正在使用=而不是==来解决部分问题。尝试更改

else if (number = max) {

类似

else if (number == max) {