/*
 Roman Decimal
 1 i
 5 v
 10 x
 50 l
 100 c
 500 d
 1000 m */
#include
#include
void thousand(int i) //Function for generating roman equivalent of 1000's
{
 int x;
 for(x=1;x<=i;x++)
 printf("m");
}
void hundred(int x) //Function for generating roman eq of 100's
{
 int i;
 if(x>=5)
 {
 x=x-5;
 printf("d");
 }
 for(i=1;i<=x;i++)
 printf("c");
}
void tens(int x) //Function for generating roman eq of 10's
{
 int i;
 if(x>=5)
 {
 x=x-5;
 printf("l");
 }
 for(i=1;i<=x;i++)
 printf("x");
}
void ones(int x) //Function for generating roman eq of 1's
{
 int i,j;
 if(x==9)
 printf("ix");
 else if(x>=5&&x<=8)
 {
 printf("v");
 for(i=1;i<=x-5;i++)
 printf("i");
 }
 else if(x==4)
 printf("iv");
 else
 {
 for(j=1;j<=x;j++)
 printf("i");
 }
}
void main() //Main program
{
 int i,y,j;
 clrscr();
 printf("Enter the year(less than 10,000):
	");
 scanf("%d",&y);
 printf("	");
 for(j=1000;j>=1;j=j/10)
 {
 i=y/j; //Extraction of digits for each functions
 if(j==1000)
 thousand(i);
 else if(j==100)
 hundred(i);
 else if(j==10)
 tens(i);
 else
 ones(i);
 y=y-(i*j); //removing the extracted digit to proceed further
 }
 getch();
}