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

标签 c++ loops max min

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

最少 1 次 3 次

最多 5 次 2 次

我对 number 有问题,因为当我有 ma​​x 并输入较低的数字时,我的 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) {

关于c++ - 在数字列表中搜索最小值和最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46983861/

相关文章:

arrays - 在 Swift 中删除 UIButtons 数组

c++将文件中的行解析为流

c++ - 如何将 Poco::Net::HTTPClientSession 的套接字设置为 TCP_NODELAY?

java - 如何删除循环中字符串中的最后一个分隔符?

mysql - 从 2 个联接表中获取 select 语句中每行输出的最新时间戳

mongodb如何从集合中获取最大值

algorithm - 跟踪 FIFO 队列中的最大元素

c++ - 为什么我过滤后的图像(应该是二进制的)仍然包含彩色部分?(OpenCV in C++)

c++ - 从标准输入读取多种类型的问题

python - 如何在 Python 中循环输入?