计蒜客 整数转换成罗马数字

给定一个整数 numnum,将整数转换成罗马数字。

如 1,2,3,4,51,2,3,4,5 对应的罗马数字分别为IIIIIIIVV等,更详细的说明见此 链接

输入格式

第一行输入一个整数 num(1 \leq num \leq 3999)num(1num3999)

输出格式

输出 numnum 对应的罗马数字。

样例输入
123
样例输出

CXXIII

#include <iostream>
using namespace std;


string Roman_num(int int_num);


int main()
{
    int num;
    cin>>num;
    if(num/1000!=0)
    {
        cout<<Roman_num(num-num%1000);
        num=num%1000;
    }
    if(num/100!=0)
    {
        cout<<Roman_num(num-num%100);
        num=num%100;
    }
    if(num/10!=0)
    {
        cout<<Roman_num(num-num%10);
        num=num%10;
    }
    if(num!=0)
        cout<<Roman_num(num);


    return 0;
}




string Roman_num(int int_num)
{
    string roman_sor[10][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"}};
    if(int_num<10)
        return roman_sor[0][int_num-1];
    else if(int_num>=10&&int_num<100)
        return roman_sor[1][int_num/10-1];
    else if(int_num>=100&&int_num<1000)
        return roman_sor[2][int_num/100-1];
    else if(int_num>=1000)
        return roman_sor[3][int_num/1000-1];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值