diff options
| author | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-12-04 13:15:03 +0800 |
|---|---|---|
| committer | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-12-04 13:15:03 +0800 |
| commit | bf657af77c6bea76a1b556044275b06d54e8b390 (patch) | |
| tree | f427e4b674e154f5fca2f1b36bb26cfc3b97c2b1 /3 | |
| parent | 5e79ec231903d0a6098f9729362339677aed2088 (diff) | |
| download | k&r-exercises-bf657af77c6bea76a1b556044275b06d54e8b390.tar.gz | |
3.5
Diffstat (limited to '3')
| -rw-r--r-- | 3/5.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -40,18 +40,26 @@ void reverse(char s[]) { } void itob(int n, char s[], int b) { - int i, sign; + int i, sign, mod; i = 0; sign = n < 0; if (n >= 0) { do { - s[i++] = (n % b) + '0'; + mod = (n % b); + if (mod < 10) + s[i++] = mod + '0'; + else + s[i++] = mod - 10 + 'A'; } while ((n /= b) > 0); } else { do { - s[i++] = -(n % b) + '0'; + mod = -(n % b); + if (mod < 10) + s[i++] = mod + '0'; + else + s[i++] = mod - 10 + 'A'; } while ((n /= b) <= -1); } |
