Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm fmax() và fmin() trong C++


Trong phần này chúng ta sẽ thấy fmax() và fmin() trong C++. Hai hàm này nằm trong header cmath.

Chúng nhận hai giá trị kiểu float, double hoặc long double và trả về giá trị lớn nhất hoặc nhỏ nhất tương ứng.

Nếu kiểu đối số khác nhau (ví dụ so sánh float với double), hàm sẽ ép kiểu ngầm rồi trả về giá trị tương ứng.

Ví dụ

#include <cmath>
#include <iomanip>
#include <iostream>
using namespace std;

main() {
    double res;
    // dùng fmax()
    res = fmax(50.0, 10.0); // cả hai dương
    cout << fixed << setprecision(4) << "fmax(50.0, 10.0) = " << res << endl;
    res = fmax(-50.0, 10.0); // dấu trái nhau
    cout << fixed << setprecision(4) << "fmax(-50.0, 10.0) = " << res << endl;
    res = fmax(-50.0, -10.0); // cả hai âm
    cout << fixed << setprecision(4) << "fmax(-50.0, -10.0) = " << res << endl;
    // dùng fmin()
    res = fmin(50.0, 10.0);
    cout << fixed << setprecision(4) << "fmin(50.0, 10.0) = " << res << endl;
    res = fmin(-50.0, 10.0);
    cout << fixed << setprecision(4) << "fmin(-50.0, 10.0) = " << res << endl;
    res = fmin(-50.0, -10.0);
    cout << fixed << setprecision(4) << "fmin(-50.0, -10.0) = " << res << endl;
}

Kết quả

fmax(50.0, 10.0) = 50.0000
fmax(-50.0, 10.0) = 10.0000
fmax(-50.0, -10.0) = -10.0000
fmin(50.0, 10.0) = 10.0000
fmin(-50.0, 10.0) = -50.0000
fmin(-50.0, -10.0) = -50.0000