#include <stdio.h>
// 下で定義する関数を、先に宣言する
double max(double x, double y);
double absolute(double x);
double cube(double x);
// main関数を一番上にする
int main(void) {
double a, b;
a = -3.2;
b = 1.4;
printf("max(|%f|,(%f)^3)=%f \n",a
, b
, max
(absolute
(a
), cube
(b
))); return 0;
}
// 二つの引数の大きい方を返す
double max(double x, double y) {
return (x > y) ? x : y;
}
// 引数の絶対値を返す
double absolute(double x) {
return (x >= 0) ? x : -x;
}
// 引数の三乗を返す
double cube(double x) {
return x * x * x;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDkuIvjgaflrprnvqnjgZnjgovplqLmlbDjgpLjgIHlhYjjgavlrqPoqIDjgZnjgosKZG91YmxlIG1heChkb3VibGUgeCwgZG91YmxlIHkpOwpkb3VibGUgYWJzb2x1dGUoZG91YmxlIHgpOwpkb3VibGUgY3ViZShkb3VibGUgeCk7CgovLyBtYWlu6Zai5pWw44KS5LiA55Wq5LiK44Gr44GZ44KLCmludCBtYWluKHZvaWQpIHsKICAgIGRvdWJsZSBhLCBiOwogICAgYSA9IC0zLjI7CiAgICBiID0gMS40OwogICAgcHJpbnRmKCJtYXgofCVmfCwoJWYpXjMpPSVmIFxuIixhLCBiLCBtYXgoYWJzb2x1dGUoYSksIGN1YmUoYikpKTsKICAgIHJldHVybiAwOwp9CgovLyDkuozjgaTjga7lvJXmlbDjga7lpKfjgY3jgYTmlrnjgpLov5TjgZkKZG91YmxlIG1heChkb3VibGUgeCwgZG91YmxlIHkpIHsKICAgIHJldHVybiAoeCA+IHkpID8geCA6IHk7Cn0KCi8vIOW8leaVsOOBrue1tuWvvuWApOOCkui/lOOBmQpkb3VibGUgYWJzb2x1dGUoZG91YmxlIHgpIHsKICAgIHJldHVybiAoeCA+PSAwKSA/IHggOiAteDsKfQoKLy8g5byV5pWw44Gu5LiJ5LmX44KS6L+U44GZCmRvdWJsZSBjdWJlKGRvdWJsZSB4KSB7CiAgICByZXR1cm4geCAqIHggKiB4Owp9