程序员

整型数字转换成罗马数字

2018-11-28  本文已影响0人  静水流深ylyang

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.

#include<iostream>
using namespace std;
string intToRoman(int num)
{
    string s1[4][10] =
    {
        {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"},
        {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"},
        {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"},
        {"", "M", "MM", "MMM"}
    };
    string s2 = "";
    s2 += s1[3][num/1000%10];
    s2 += s1[2][num/100%10];
    s2 += s1[1][num/10%10];
    s2 += s1[0][num%10];
    return s2;
}
int main()
{
    cout<<intToRoman(4)<<endl;
    cout<<intToRoman(8)<<endl;
    cout<<intToRoman(44)<<endl;
    cout<<intToRoman(88)<<endl;
    cout<<intToRoman(444)<<endl;
    cout<<intToRoman(888)<<endl;
    cout<<intToRoman(2014)<<endl;
    cout<<intToRoman(3018)<<endl;
    return 0;
}

版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址:https://yangyuanlin.club
欢迎来踩~~~~


上一篇 下一篇

猜你喜欢

热点阅读