#include <stdio.h>
#include <math.h>
double max(double x, double y);
double abs_val(double x);
double cube(double x);
int main(void) {
double a, b;
a = 3.0;
b = -2.0;
printf("max(|%.1f|, (%.1f)^3) = %.1f\n", a
, b
, max
(abs_val
(a
), cube
(b
))); return 0;
}
double max(double x, double y) {
return (x > y) ? x : y;
}
// 引数の絶対値を返す関数(条件1: double型対応)
double abs_val(double x) {
return (x > 0) ? x : -x;
}
// 引数の三乗の値を返す関数(条件1: double型対応)
double cube(double x) {
return x * x * x;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+IAoKCmRvdWJsZSBtYXgoZG91YmxlIHgsIGRvdWJsZSB5KTsKZG91YmxlIGFic192YWwoZG91YmxlIHgpOwpkb3VibGUgY3ViZShkb3VibGUgeCk7CgoKaW50IG1haW4odm9pZCkgewogICAgZG91YmxlIGEsIGI7CiAgICBhID0gMy4wOwogICAgYiA9IC0yLjA7CgogICAgcHJpbnRmKCJtYXgofCUuMWZ8LCAoJS4xZileMykgPSAlLjFmXG4iLCBhLCBiLCBtYXgoYWJzX3ZhbChhKSwgY3ViZShiKSkpOwogICAgcmV0dXJuIDA7Cn0KCgpkb3VibGUgbWF4KGRvdWJsZSB4LCBkb3VibGUgeSkgewogICAgcmV0dXJuICh4ID4geSkgPyB4IDogeTsKfQoKLy8g5byV5pWw44Gu57W25a++5YCk44KS6L+U44GZ6Zai5pWw77yI5p2h5Lu2MTogZG91Ymxl5Z6L5a++5b+c77yJCmRvdWJsZSBhYnNfdmFsKGRvdWJsZSB4KSB7CiAgICByZXR1cm4gKHggPiAwKSA/IHggOiAteDsKfQoKLy8g5byV5pWw44Gu5LiJ5LmX44Gu5YCk44KS6L+U44GZ6Zai5pWw77yI5p2h5Lu2MTogZG91Ymxl5Z6L5a++5b+c77yJCmRvdWJsZSBjdWJlKGRvdWJsZSB4KSB7CiAgICByZXR1cm4geCAqIHggKiB4Owp9