版权声明:本文为博主原创文章,转载请注明出处。
个人博客地址: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
欢迎来踩~~~~
网友评论