diff options
Diffstat (limited to '5')
| -rw-r--r-- | 5/6.c | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -1,5 +1,6 @@ #include <stdio.h> #include <stdlib.h> +#include <string.h> int mgetline(char *s, int lim) { int i; @@ -24,4 +25,34 @@ int matoi(char *s) { n = 10 * n + (*s - '0'); return n; +} + +void reverse(char *s) { + int i, j; + + for (i = 0, j = strlen(s) - 1; i < j; i++, j--) { + s[i] = s[i] ^ s[j]; + s[j] = s[i] ^ s[j]; + s[i] = s[i] ^ s[j]; + } +} + +void mitoa(int n, char *s) { + int sign; + char *sp; + + sp = s; + + if ((sign = n) < 0) + n = -n; + + do { + *s++ = n % 10 + '0'; + } while ((n /= 10) > 0); + + if (sign < 0) + *s++ = '-'; + *s = 0; + + reverse(sp); }
\ No newline at end of file |
