<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                開發一款程序教小孩子認識羅馬數字,小孩子已經對羅馬數字非常熟悉了,但是不明白羅馬數字的加法,在[面試技能六](http://blog.csdn.net/dotnetstudio/article/details/40111043)中已經對羅馬數字的構成做了詳細描述。現在做的程序也是在面試技能六的約束下,加法的求和最大限定在3000以內。 ~~~ /// <summary> /// 羅馬數字轉十進制數 /// </summary> /// <param name="number"></param> /// <returns></returns> public static int ConvertRomanToDecimal(string number) { Dictionary<string, int> dic = new Dictionary<string, int>(); dic.Add("M", 1000); dic.Add("CM", 900); dic.Add("D", 500); dic.Add("CD", 400); dic.Add("C", 100); dic.Add("XC", 90); dic.Add("L", 50); dic.Add("XL", 40); dic.Add("X", 10); dic.Add("IX", 9); dic.Add("V", 5); dic.Add("IV", 4); dic.Add("I", 1); int len = number.Length; if (len == 1) { return dic[number]; } if (len > 1) { int i = 0; int sum = 0; while (i < len) { int step = 1; if (len - i > 1) { step = 2; } string cnum = number.Substring(i, step); if (dic.ContainsKey(cnum)) { sum += dic[cnum]; i = i + step; } else { sum += dic[number.Substring(i, 1)]; i = i + 1; } } return sum; } return -1; } } ~~~ ~~~ /// <summary> /// 十進制轉羅馬數字 /// </summary> /// <param name="number"></param> /// <returns></returns> 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; } ~~~ ~~~ /// <summary> /// 加法器 /// </summary> /// <param name="s">輸入羅馬加法公式</param> /// <returns></returns> public static string RomanCalculator(string s) { string[] array = s.Split('+'); int sum = ConvertRomanToDecimal(array[0].Trim()) + ConvertRomanToDecimal(array[1].Trim()); return ConvertDecimalToRoman(sum); } ~~~ 調用RomanCalculator()函數,輸入如下的測試數據進行測試。 Input??????????????????????????? Output XX + II?????????????????????????? XXII I + V????????????????????????????? VI II + II???????????????????????????? IV CCC + CCC?????????????? DC D + D?????????????????????????? M
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看