From 1fdc86998f97f32b0e3e7b10ac5d75becaee5e60 Mon Sep 17 00:00:00 2001 From: Sadeep Madurange Date: Sat, 1 Jan 2022 14:47:32 +0800 Subject: 5.6 --- 5/6.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/5/6.c b/5/6.c index e151c1c..2146387 100644 --- a/5/6.c +++ b/5/6.c @@ -1,5 +1,6 @@ #include #include +#include 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 -- cgit v1.2.3