整数转换成罗马数字
2017-03-30 12:59
288 查看
给定一个整数 numnum,将整数转换成罗马数字。
如 1,2,3,4,51,2,3,4,5 对应的罗马数字分别为
\leq num \leq 3999)num(1≤num≤3999)。
思路:
http://baike.baidu.com/item/罗马数字
用数组把每位的罗马表示法罗列出来
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char str[4][10][10]={{" ","I","II","III","IV","V","VI","VII","VIII","IX"}, //分别是0~9,10~90,100~900,1000~3000
{" ","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
{" ","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
{" ","M","MM","MMM"}},ch[20][10];
int n,t,i=0,j,k=0;
cin>>n;
while (n)
{
t = n%10;
strcpy(ch[k],str[k][t]);
k++;
n /= 10;
}
for (i=k-1; i>=0; i--)
{
cout<<ch[i];
}
return 0;
}
如 1,2,3,4,51,2,3,4,5 对应的罗马数字分别为
I,
II,
III,
IV,
V等,更详细的说明见此 链接。
输入格式
第一行输入一个整数 num(1\leq num \leq 3999)num(1≤num≤3999)。
输出格式
输出 numnum 对应的罗马数字。样例输入
123
样例输出
CXXIII
思路:
http://baike.baidu.com/item/罗马数字
用数组把每位的罗马表示法罗列出来
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char str[4][10][10]={{" ","I","II","III","IV","V","VI","VII","VIII","IX"}, //分别是0~9,10~90,100~900,1000~3000
{" ","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"},
{" ","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"},
{" ","M","MM","MMM"}},ch[20][10];
int n,t,i=0,j,k=0;
cin>>n;
while (n)
{
t = n%10;
strcpy(ch[k],str[k][t]);
k++;
n /= 10;
}
for (i=k-1; i>=0; i--)
{
cout<<ch[i];
}
return 0;
}
相关文章推荐
- leetcode 罗马数字与整数的转换算法
- 计蒜客————罗马数字转换成整数
- 计蒜客 难题题库 014 罗马数字转换成整数
- Java - 计蒜客 - 整数转换成罗马数字
- 计蒜课:整数转换成罗马数字
- LeetCode | Integer to Roman(整数转换成罗马数字)
- 整数与罗马数字相互转换-Python
- 计蒜客——整数转换成罗马数字
- 计蒜客整数转换成罗马数字
- 计蒜客挑战难题:整数转换成罗马数字
- LeetCode习题笔记——罗马数字和整数之间的转换
- 罗马数字和整数相互转换
- 罗马数字转换成整数
- 整数转换成罗马数字和罗马数字转换成整数
- 整数转换与罗马数字的相互转换
- 计蒜客——罗马数字转换成整数
- 整数转换为罗马数字
- 罗马数字转换成整数
- 罗马数字转换成整数(注意罗马数字的大小表示问题)
- 整数转换成罗马数字