#include <stdio.h>

/* 関数プロトタイプ宣言 */
double max(double x, double y);
double myabs(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(myabs(a), cube(b)));

    return 0;
}

/* 大きい方を返す関数 */
double max(double x, double y){
    return (x > y) ? x : y;
}

/* 絶対値を返す関数 */
double myabs(double x){
    return (x > 0) ? x : -x;
}

/* 三乗を返す関数 */
double cube(double x){
    return x * x * x;
}

