#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;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKiDplqLmlbDjg5fjg63jg4jjgr/jgqTjg5flrqPoqIAgKi8KZG91YmxlIG1heChkb3VibGUgeCwgZG91YmxlIHkpOwpkb3VibGUgbXlhYnMoZG91YmxlIHgpOwpkb3VibGUgY3ViZShkb3VibGUgeCk7CgovKiBtYWlu6Zai5pWw44KS5YWI6aCt44Gr6YWN572uICovCmludCBtYWluKHZvaWQpewogICAgZG91YmxlIGEsIGI7CgogICAgYSA9IDMuMDsKICAgIGIgPSAtMi4wOwoKICAgIHByaW50ZigibWF4KHwlLjFmfCwgKCUuMWYpXjMpID0gJS4xZlxuIiwKICAgICAgICAgICBhLCBiLCBtYXgobXlhYnMoYSksIGN1YmUoYikpKTsKCiAgICByZXR1cm4gMDsKfQoKLyog5aSn44GN44GE5pa544KS6L+U44GZ6Zai5pWwICovCmRvdWJsZSBtYXgoZG91YmxlIHgsIGRvdWJsZSB5KXsKICAgIHJldHVybiAoeCA+IHkpID8geCA6IHk7Cn0KCi8qIOe1tuWvvuWApOOCkui/lOOBmemWouaVsCAqLwpkb3VibGUgbXlhYnMoZG91YmxlIHgpewogICAgcmV0dXJuICh4ID4gMCkgPyB4IDogLXg7Cn0KCi8qIOS4ieS5l+OCkui/lOOBmemWouaVsCAqLwpkb3VibGUgY3ViZShkb3VibGUgeCl7CiAgICByZXR1cm4geCAqIHggKiB4Owp9Cgo=