簡體   English   中英

使用 C++ 中的 Min Max 用於超過 4 個變量而不使用數組

[英]Use Min Max in C++ for more than 4 variables without using array

我是 C++ 幾天的新手。 我有一個關於最小值/最大值的作業,我必須在不使用數組的情況下找到 4 個變量的最小值和最大值。 你們能幫我解決這個問題嗎?

由於 C++11 標准算法std::minstd::max可以采用初始化列表。 所以只需傳遞所有 4 個變量。

#include <algorithm>

auto low = std::min( {v1, v2, v3, v4} );
auto high = std::max( {v1, v2, v3, v4} );

(或者在一個語句中使用std::minmax

如果可以使用 C++11,則可以通過使用 initializer_list 來使用此表示法。

std::min({var1, var2, var3, var4});

這種符號也可以在沒有 c++11 環境的情況下實現幾乎相同的 function。

std::min(std::min(var1, var2), std::min(var3, var4));

std::max 也一樣。

您可以使用條件來根據您的要求找出最小值和最大值。

#include <iostream>
using namespace std;
int main()
{
    int a, b, c, d , max, min;
    cout << "Enter first number: ";
    cin >> a;
    cout << "Enter first number: ";
    cin >> b;
    cout << "Enter first number: ";
    cin >> c;
    cout << "Enter first number: ";
    cin >> d;

    if ( a > b && a > c && a > d) {
        max = a;
    }
    else if (b > a && b > c && b > d) {
        max = b;
    }
    else if (c > a && c > b && c > d) {
        max = c;
    }
    else if (d > a && d > b && d > c) {
        max = d;
    }
    if (a < b && a < c && a < d) {
        min = a;
    }
    else if (b < a && b < c && b < d) {
        max = b;
    }
    else if (c < a && c < b && c < d) {
        min = c;
    }
    else if (d < a && d < b && d < c) {
        min = d;
    }

    cout << "Maximum is " << max<<endl;
    cout << "Minimum is " << min;

}

為了找到數字的最小值和最大值,您可以使用可以將每個變量與其他變量進行比較的使用條件。 就像如果第一個數字“a”大於第二個數字“b”,第一個數字“a”也大於第三個數字“c”並且第一個數字“a”大於第四個數字“d”因此第一個數字“a” " 是您的最大數量。 如果此條件失敗,則您應該比較其他數字。 尋找最小值也是如此。 希望這個解釋有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM