將介於 1 至 3999 之間的十進位制數轉換為羅馬字母在 C++ 中


在本教程中,我們將討論一個將介於 1 至 3999 之間的十進位制數轉換為羅馬字母的程式。

為此,我們將使用一個隨機整數。我們的任務是將給定數字轉換為其羅馬字母的等價數字。

示例

 現場演示

#include <bits/stdc++.h>
using namespace std;
//converting decimal to roman numeral
int printRoman(int number){
   int num[] = {1,4,5,9,10,40,50,90,100,400,500,900,1000};
   string sym[] =
   {"I","IV","V","IX","X","XL","L","XC","C","CD","D","CM","M"};
   int i=12;
   while(number>0){
      int div = number/num[i];
      number = number%num[i];
      while(div--){
         cout<<sym[i];
      }
      i--;
   }
}
int main(){
   int number = 3949;
   printRoman(number);
   return 0;
}

輸出

MMMCMXLIX

更新內容: 2020 年 1 月 29 日

329 次瀏覽

職業生涯火熱開啟

完成課程即可獲得認證

立刻開始
廣告
© . All rights reserved.