#include <stdio.h> // math.hなどの必要なライブラリも使用可能

// プロトタイプ宣言
double max(double x, double y);
double abs_val(double x); 
double cube(double x);
// C言語標準のabs関数との衝突を防ぐため名称を変更
// 1. main関数を一番上に配置
int main(void) {
    double a, b;
    a = 3.2;
    b = -1.4;

    printf("max(|%.1f|, (%.1f)^3) = %.1f\n", a, b, max(abs_val(a), cube(b)));
    return 0;
}

// 二つの引数の大きい方の値を返す関数（double型）
double max(double x, double y) {
    return (x > y) ? x : y;
}

// 引数の絶対値を返す関数（double型）
double abs_val(double x) {
    return (x > 0) ? x : -x;
}

// 引数の三乗の値を返す関数（double型）
double cube(double x) {
    return x * x * x;
}