罗马数字是欧洲在阿拉伯数字(实际上是印度数字) 传入之前使用的一种数码,现在应用较少。 它的产生晚于中国甲骨文的数码,更晚于埃及人的 十进位数字。但是,它的产生标志着一种古代文明的进步。 给出几个罗马数字的基础数字, I(1),V(5),X(10), L(50),C(100),D(500),M(1000) 观察下面的数字,了解罗马数字的构成原理
1 2 3 4 5 6 7 8 9
I II III IV V VI VII VIII IX
10 20 30 40 50 60 70 80 90
X XX XXX XL L LX LXX LXXX XC
给出一个大于0小于1000的阿拉伯数字整数,把它转换成罗马数字并输出。
输入要求
一个阿拉伯数字。
输出要求
按样例格式输出输入的阿拉伯数字对应的罗马数字。
输入样例
374 782
输出样例
374=CCCLXXIV 782=DCCLXXXII
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,s,g,i;
scanf("%d",&a);
printf("%d=",a);
b=a/100;
if(b>=1&&b<=3)
{
for(i=1;i<=b;i++)
{
printf("C");
}
}
else if(b==4)
{
printf("CD");
}
else if(b>=5&&b<9)
{
printf("D");
for(i=1;i<=b-5;i++)
printf("C");
}
else if(b==9)
{
printf("CM");
}
a=a%100;
s=a/10;
if(s>=1&&s<=3)
{
for(i=1;i<=s;i++)
{
printf("X");
}
}
else if(s==4)
{
printf("XL");
}
else if(s>=5&&s<9)
{
printf("L");
for(i=1;i<=s-5;i++)
printf("X");
}
else if(s==9)
{
printf("XC");
}
g=a%10;
if(g>=1&&g<=3)
{
for(i=1;i<=g;i++)
{
printf("I");
}
}
else if(g==4)
{
printf("IV");
}
else if(g>=5&&g<9)
{
printf("V");
for(i=1;i<=g-5;i++)
printf("I");
}
else if(g==9)
{
printf("IX");
}
printf("\n");
return 0;
}