将大于0小于1000的阿拉伯数字转换为罗马数字。
表示个位数: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
输入格式:
输入一个整数n。
输出格式:
输出一个由n转换过来的罗马数字。
输入样例:
在这里给出一组输入。例如:
1
12
123
输出样例:
在这里给出相应的输出。例如:
I
XII
CXXIII
代码如下,要注意的就是三位数的十位数为0的时候怎么读
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string a[10]={"","I","II","III","IV","V","VI","VII","VIII","IX"};
string b[10]={"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
string c[10]={"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"};
int x,y,z;
int n;
while(scanf("%d",&n) != EOF)
{
x = n % 10;
y = n / 10 % 10;
z = n / 100;
cout << c[z] << b[y] << a[x] <<endl;
}
return 0;
}