#include <stdio.h>
double max(double x, double y);
double abs_val(double x);
double cube(double x);
// main関数を最上部に配置
int main(void) {
double a = -3.2;
double b = 1.4;
printf("max(|%.1f|,(%.1f)^3)=%.0f\n", a
, b
, max(abs_val(a), cube(b)));
return 0;
}
// 二つの引数の大きい方の値を返す関数
double max(double x, double y) {
return (x > y) ? x : y;
}
// 引数の絶対値を返す関数
double abs_val(double x) {
return (x < 0) ? -x : x;
}
// 引数の三乗の値を返す関数
double cube(double x) {
return x * x * x;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpkb3VibGUgbWF4KGRvdWJsZSB4LCBkb3VibGUgeSk7CmRvdWJsZSBhYnNfdmFsKGRvdWJsZSB4KTsKZG91YmxlIGN1YmUoZG91YmxlIHgpOwoKLy8gbWFpbumWouaVsOOCkuacgOS4iumDqOOBq+mFjee9rgppbnQgbWFpbih2b2lkKSB7CiAgICBkb3VibGUgYSA9IC0zLjI7CiAgICBkb3VibGUgYiA9IDEuNDsKICAgIHByaW50ZigibWF4KHwlLjFmfCwoJS4xZileMyk9JS4wZlxuIiwgYSwgYiwKICAgICAgICAgICBtYXgoYWJzX3ZhbChhKSwgY3ViZShiKSkpOwogICAgcmV0dXJuIDA7Cn0KCi8vIOS6jOOBpOOBruW8leaVsOOBruWkp+OBjeOBhOaWueOBruWApOOCkui/lOOBmemWouaVsApkb3VibGUgbWF4KGRvdWJsZSB4LCBkb3VibGUgeSkgewogICAgcmV0dXJuICh4ID4geSkgPyB4IDogeTsKfQoKLy8g5byV5pWw44Gu57W25a++5YCk44KS6L+U44GZ6Zai5pWwCmRvdWJsZSBhYnNfdmFsKGRvdWJsZSB4KSB7CiAgICByZXR1cm4gKHggPCAwKSA/IC14IDogeDsKfQoKLy8g5byV5pWw44Gu5LiJ5LmX44Gu5YCk44KS6L+U44GZ6Zai5pWwCmRvdWJsZSBjdWJlKGRvdWJsZSB4KSB7CiAgICByZXR1cm4geCAqIHggKiB4Owp9