整型数字转换成罗马数字


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


  • integer to roman

Given an integer, convert it to a roman numeral.

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

  • 题目大意:给定一个整型数字,把它转换成罗马数字。输入的整型数字范围在 1 到 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
欢迎来踩~~~~


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,906评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,502评论 2 59
  • 版权声明:本文为博主原创文章,转载请注明出处。个人博客地址:https://yangyuanlin.club欢迎来...
    静水流深ylyang阅读 4,266评论 0 1
  • 偶然得知有个叫简书的写作APP,便下载安装了。从使用简书,到今天已是第17天了。我已经坚持16天连续日更,期间报名...
    大哥大哥你好帅阅读 1,612评论 0 3
  • 接下来会有三篇(含本篇)分别单独分析著作权、专利权和商标权特殊性的文稿,作者认为这是自己具有原创性的分析(这...
    先姐笔耕阅读 4,406评论 2 2

友情链接更多精彩内容