返回列表 發帖

a013.羅馬數字(羅馬字母to數字)

本帖最後由 李知易 於 2020-11-21 10:56 編輯

此程式碼已超越五為空間 只適用於C++
  1. int rton(string str)
  2. {
  3.     int n = 0;
  4.     for(int i = 1; i <= str.length(); i++)
  5.     {
  6.         if(str[i-1] == 'I')
  7.         {
  8.             if(str[i] == 'V' || str[i] == 'X')
  9.                 n -= 1;
  10.             else
  11.                 n += 1;
  12.         }
  13.         if(str[i-1] == 'V')
  14.         {
  15.             n += 5;
  16.         }
  17.         if(str[i-1] == 'X')
  18.         {
  19.             if(str[i] == 'L' || str[i] == 'C')
  20.                 n -= 10;
  21.             else
  22.                 n += 10;
  23.         }
  24.         if(str[i-1] == 'L')
  25.         {
  26.             n += 50;
  27.         }
  28.         if(str[i-1] == 'C')
  29.         {
  30.             if(str[i] == 'D' || str[i] == 'M')
  31.                 n -= 100;
  32.             else
  33.                 n += 100;
  34.         }
  35.         if(str[i-1] == 'D')
  36.         {
  37.             n += 500;
  38.         }
  39.         if(str[i-1] == 'M')
  40.         {
  41.             n += 1000;
  42.         }
  43.     }
  44.     return n;
  45. }
複製代碼

返回列表