Its a code to convert any given year into its Roman equivalent.
Sorry,I took this code from the internet and its too big so I don't wanna waste time putting it into the right format.Code:#include<stdio.h> int roman(int year) { int i; printf("The year %d is converted to Roman------->",year); i=(year/1000); while(i) { printf("m");i--; } i=(('); switch(i) { case 1:printf("c"); break; case 2:printf("cc"); break; case 3:printf("ccc"); break; case 4:printf("cd"); break; case 5:printf("d"); break; case 6:printf("dc"); break; case 7:printf("dcc"); break; case 8:printf("dccc"); break; case 9:printf("dcccc"); break; } i=((year/10)%10); switch(i) { case 1:printf("x"); break; case 2:printf("xx"); break; case 3:printf("xxx"); break; case 4:printf("xl"); break; case 5:printf("l"); break; case 6:printf("lx"); break; case 7:printf("lxx"); break; case 8:printf("lxxx"); break; case 9:printf("xc"); break; } i=(year%10); switch(i) { case 1:printf("i"); break; case 2:printf("ii"); break; case 3:printf("iii"); break; case 4:printf("iv"); break; case 5:printf("v"); break; case 6:printf("vi"); break; case 7:printf("vii"); break; case 8:printf("viii"); break; case 9:printf("ix"); break; } printf("\n\n"); } main() { int year; printf("Enter any year:"); scanf("%d",&year); roman(year); }
I am getting the output but couldn't understand the code.
If I enter a year 1988,'m' would be printed one time,then the control will enter switch case,i=((year/100)%10) which means i will be 988 then how come 'dcccc' will be printed?Because 'dcccc' will only be printed when i will be 9 but i is 988 then how will 'dcccc' be printed?