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

To Check Whether a Number is Even or Odd

C Program to Check Whether a Number is Even or Odd Numbers perfectly divisible by 2 are known even numbers and numbers which are not divisible by 2 are called odd numbers. This program takes an integer from user and checks whether that number is even or odd and displays the result. Source Code /*to check whether a number entered by user is even or odd. */ #include <stdio.h> int main() { int num; printf( "Enter an integer you want to check: " ); scanf( "%d" ,&num); if ((num% 2 )== 0 ) /* Checking whether remainder is 0 or not. */ printf( "%d is even." ,num); else printf( "%d is odd." ,num); return 0 ; } Output 1 Enter an integer you want to check : 25 25 is odd . Output 2 Enter an integer you want to check : 12 12 is even .   In this program, user is asked to enter an integer which is stored in variable num . Then,...

1st Day of given year program

  Gregorian Calendar Program According to the Gregorian calendar,it was Monday on the date 01/01/01. If any year is input through the keyboard  write a program to find out what is the day on 1st January of this year. #include <stdio.h> void main()   { int year, x; printf( "Enter the year\n" ); scanf( "%d" , &year); year = year - 1; x = year + year/4 - year/100 + year/400; if (x % 7 == 0) printf( "Monday" ); else if (x % 7 == 1) printf( "Tuesday" ); else if (x % 7 == 2) printf( "Wednesday" ); else if (x % 7 == 3) printf( "Thrusday" );   else if (x % 7 == 4) printf( "Friday" ); else if (x % 7 == 5) printf( "Saturday" ); else if (x % 7 == 6) printf( "Sunday" ); getch(); }