罗马数字转换

南楼画角 提交于 2019-12-23 04:19:15

将大于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
1
2
3
输出样例:
在这里给出相应的输出。例如:

I
XII
CXXIII
1
2
3
代码如下,要注意的就是三位数的十位数为0的时候怎么读

#include
#include
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;
}
————————————————
版权声明:本文为CSDN博主「LiShan_Wei」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/NirvanaGF/article/details/88918162

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!