diff options
Diffstat (limited to 'rounding.c')
-rw-r--r-- | rounding.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/rounding.c b/rounding.c new file mode 100644 index 0000000..db78664 --- /dev/null +++ b/rounding.c @@ -0,0 +1,37 @@ +#include <u.h> +#include <libc.h> + +double +roundf(double n) +{ + return floor(n + 0.5); +} + +int +roundi(double n) +{ + return n+0.5; +} + +void +usage(void) +{ + fprint(2, "usage: %s number\n", argv0); + exits("usage"); +} + +void +main(int argc, char *argv[]) +{ + double n; + + ARGBEGIN{ + default: usage(); + }ARGEND; + if(argc != 1) + usage(); + n = strtod(argv[0], nil); + print("%g\n", roundf(n)); + print("%d\n", roundi(n)); + exits(0); +} |