|
1 |
| -char* intToRoman(int num) { |
2 |
| - static char res[20]; |
3 |
| - res[0] = '\0'; |
| 1 | +static const char* cs[] = { |
| 2 | + "M", "CM", "D", "CD", "C", "XC", |
| 3 | + "L", "XL", "X", "IX", "V", "IV", "I"}; |
4 | 4 |
|
5 |
| - int vals[] = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; |
6 |
| - char* syms[] = {"M", "CM", "D", "CD", "C", "XC", "L", |
7 |
| - "XL", "X", "IX", "V", "IV", "I"}; |
| 5 | +static const int vs[] = { |
| 6 | + 1000, 900, 500, 400, 100, 90, |
| 7 | + 50, 40, 10, 9, 5, 4, 1}; |
8 | 8 |
|
9 |
| - for (int i = 0; i < 13; i++) { |
10 |
| - while (num >= vals[i]) { |
11 |
| - strcat(res, syms[i]); |
12 |
| - num -= vals[i]; |
| 9 | +char* intToRoman(int num) { |
| 10 | + static char ans[20]; |
| 11 | + ans[0] = '\0'; |
| 12 | + for (int i = 0; i < 13; ++i) { |
| 13 | + while (num >= vs[i]) { |
| 14 | + num -= vs[i]; |
| 15 | + strcat(ans, cs[i]); |
13 | 16 | }
|
14 | 17 | }
|
15 |
| - return res; |
| 18 | + return ans; |
16 | 19 | }
|
0 commit comments