面试技能六

最后更新于:2022-04-01 21:06:37

用C#写一个RomanNumbers的控制台程序,提供基本罗马数字到十进制数的映射关系,然后给出一些约束,然后对于1到5000的十进制整数,能转换成相应的罗马数字。 基本罗马数字和十进制数的对应关系 I                        1 V                       5 X                      10 L                       50 C                      100 D                      500 M                      1000 约束 1. 如果一个代表数字小的字母放在代表数字大的字母的前面,则表示减法,例如CM就表示900 2. 一个字母最多只能重复3次 程序 ~~~ public static string ConvertDecimalToRoman(int number) { int[] decArray = {1000,900,500,400,100,90,50,40,10,9,5,4,1}; string[] romAarry = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" }; int i = 0; string output = ""; while (number > 0) { while (number >= decArray[i]) { number = number - decArray[i]; output = output + romAarry[i]; } i++; } return output; } ~~~ 测试数据 7                        VII 1981                 MCMLXXXI 99                     XCIX 700                   DCC 经测试,测试数据全部通过。
';