Skip to main content

Convert numbers to roman numerals



Convert numbers to roman numerals  

 

 

#include<stdio.h>
#include<conio.h>



void predigits(char c1,char c2);
void postdigits(char c,int n);

char roman_Number[1000];
int i=0;

int main()
{

    int j;
    long int number;
  
    printf("Enter any natural number: ");
    scanf("%d",&number);
  
    if(number <= 0){
         printf("Invalid number");
         return 0;
    }

    while(number != 0){

         if(number >= 1000){
             postdigits('M',number/1000);
             number = number - (number/1000) * 1000;
         }
         else if(number >=500){
             if(number < (500 + 4 * 100)){
                 postdigits('D',number/500);
                 number = number - (number/500) * 500;
             }
             else{
                 predigits('C','M');
                 number = number - (1000-100);
             }
         }
         else if(number >=100){
             if(number < (100 + 3 * 100)){
                 postdigits('C',number/100);
                 number = number - (number/100) * 100;
             }
             else{
                 predigits('L','D');
                 number = number - (500-100);
             }
         }
         else if(number >=50){
             if(number < (50 + 4 * 10)){

                 postdigits('L',number/50);
                 number = number - (number/50) * 50;
             }
             else{
                 predigits('X','C');
                 number = number - (100-10);
             }
         }
         else if(number >=10){
             if(number < (10 + 3 * 10)){
                 postdigits('X',number/10);
                 number = number - (number/10) * 10;
             }
             else{
                 predigits('X','L');
                 number = number - (50-10);
             }
         }
         else if(number >=5){
             if(number < (5 + 4 * 1)){
                 postdigits('V',number/5);
                 number = number - (number/5) * 5;
             }
             else{
                 predigits('I','X');
                 number = number - (10-1);

             }
         }
         else if(number >=1){
             if(number < 4){
                 postdigits('I',number/1);
                 number = number - (number/1) * 1;
             }
             else{
                 predigits('I','V');
                 number = number - (5-1);
             }
         }
    }

    printf("Roman number will be: ");
    for(j=0;j<i;j++)
         printf("%c",roman_Number[j]);

    return 0;

}

void predigits(char c1,char c2){

    roman_Number[i++] = c1;
    roman_Number[i++] = c2;
}

void postdigits(char c,int n){
    int j;
    for(j=0;j<n;j++)
         roman_Number[i++] = c;
  
}



Sample output:

Enter any natural number: 87
Roman number will be: LXXXVII

Comments

Popular posts from this blog

C Program to print the pattern

C Program to print the pattern X X Y X Y Z ........................................................................................ #include<stdio.h> #include<conio.h> void main () { int i , j ; for ( i= 88 ; i< 91 ;i ++) { for ( j = 88 ;j <= i ; j ++) { printf ( "%c" , j );                    }           printf ( "\n" ); } getch (); } ........................................................................................ OUTPUT

Deen Dayal Upadhyay Gorakhpur University RESULTS

DDU Gorakhpur results chahiye to yaha click kare                                                                       RESULTS  

RESULT DDU Gorakhpur 2016

Deen Dayal Upadhyay Gorakhpur University   Check Your Result click Here  B. Sc. Part-II 26-MAY-2016   M.Sc.(Ag.) Genetics & Plant Breeding (Final) 26-MAY-2016   M.Sc. ( Agriculture ) (Agricultural Economics ) - I 26-MAY-2016   B.A. Part-II 26-MAY-2016   B.A. Part-I 24-MAY-2016   B.A. Part-III 16-MAY-2016   B.Com. Part-III 16-MAY-2016   B.Sc. Home Science-I 16-MAY-2016   B.Sc. Home Science-II 16-MAY-2016   B.Sc. Home Science-III 16-MAY-2016   M.A Economics-Final 16-MAY-2016   M.A Hindi-Prev 16-MAY-2016   M.A Hindi-Final 16-MAY-2016   M.A History-Prev 16-MAY-2016   M.A. Ancient History, Archaeology and Culture (Previous) 12-MAY-2016   M.A. Ancient History, Archaeology and Culture (Final) 12-MAY-2016   B.Com.- I Year 12-MAY-201...