[英]Use Min Max in C++ for more than 4 variables without using array
我是 C++ 幾天的新手。 我有一個關於最小值/最大值的作業,我必須在不使用數組的情況下找到 4 個變量的最小值和最大值。 你們能幫我解決這個問題嗎?
由於 C++11 標准算法std::min
和std::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.