#include <stdio.h>

// --- 関数プロトタイプ宣言 ---
double max(double x, double y);
double my_abs(double x);
double cube(double x);

// main関数を一番上に
int main(void){
    double a, b;
    a = 3.0;
    b = -2.0;

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

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

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

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






