您的位置:首页 > 其它

整数转换成罗马数字

2017-03-30 12:59 288 查看
给定一个整数 numnum,将整数转换成罗马数字。
如 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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: