#include <stdio.h>
// プロトタイプ宣言
double max(double x, double y);
double my_abs(double x);
double cube(double x);
int main(void) {
double a, b;
a = 3.0;
b = -2.0;
printf("max(|%.2f|,(%.2f)^3) = %.2f\n", a
, b
, max
(my_abs
(a
), cube
(b
))); return 0;
}
// 二つの引数の大きい方の値を返す関数
double max(double x, double y) {
return (x > y) ? x : y;
}
// 引数の絶対値を返す関数
double my_abs(double x) {
return (x > 0) ? x : -x;
}
// 引数の三乗の値を返す関数
double cube(double x) {
return x * x * x;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovLyDjg5fjg63jg4jjgr/jgqTjg5flrqPoqIAKZG91YmxlIG1heChkb3VibGUgeCwgZG91YmxlIHkpOwpkb3VibGUgbXlfYWJzKGRvdWJsZSB4KTsKZG91YmxlIGN1YmUoZG91YmxlIHgpOwoKaW50IG1haW4odm9pZCkgewogICAgZG91YmxlIGEsIGI7CiAgICBhID0gMy4wOwogICAgYiA9IC0yLjA7CiAgICBwcmludGYoIm1heCh8JS4yZnwsKCUuMmYpXjMpID0gJS4yZlxuIiwgYSwgYiwgbWF4KG15X2FicyhhKSwgY3ViZShiKSkpOwogICAgcmV0dXJuIDA7Cn0KCi8vIOS6jOOBpOOBruW8leaVsOOBruWkp+OBjeOBhOaWueOBruWApOOCkui/lOOBmemWouaVsApkb3VibGUgbWF4KGRvdWJsZSB4LCBkb3VibGUgeSkgewogICAgcmV0dXJuICh4ID4geSkgPyB4IDogeTsKfQoKLy8g5byV5pWw44Gu57W25a++5YCk44KS6L+U44GZ6Zai5pWwCmRvdWJsZSBteV9hYnMoZG91YmxlIHgpIHsKICAgIHJldHVybiAoeCA+IDApID8geCA6IC14Owp9CgovLyDlvJXmlbDjga7kuInkuZfjga7lgKTjgpLov5TjgZnplqLmlbAKZG91YmxlIGN1YmUoZG91YmxlIHgpIHsKICAgIHJldHVybiB4ICogeCAqIHg7Cn0K