121k views
3 votes
Write a program num2rome.cpp that converts a positive integer into the Roman number system. The Roman number system has digits I 1 V 5 X 10 L 50 C 100 D 500 M 1,000 Numbers are formed according to the following rules: a. Only numbers 1 to 3,999 (inclusive) are represented. b. As in the decimal system, the thousands, hundreds, tens, and ones are express separately. c. The numbers 1 to 9 are expressed as I 1 II 2 III 3 IV 4 V 5 VI 6 VII 7 VIII 8 IX 9 As

1 Answer

2 votes

Answer:

Step-by-step explanation:

#include <stdio.h>

int main(void)

{

int num, rem;

printf("Enter a number: ");

scanf("%d", &num);

printf("Roman numerals: ");

while(num != 0)

{

if (num >= 1000) // 1000 - m

{

printf("m");

num -= 1000;

}

else if (num >= 900) // 900 - cm

{

printf("cm");

num -= 900;

}

else if (num >= 500) // 500 - d

{

printf("d");

num -= 500;

}

else if (num >= 400) // 400 - cd

{

printf("cd");

num -= 400;

}

else if (num >= 100) // 100 - c

{

printf("c");

num -= 100;

}

else if (num >= 90) // 90 - xc

{

printf("xc");

num -= 90;

}

else if (num >= 50) // 50 - l

{

printf("l");

num -= 50;

}

else if (num >= 40) // 40 - xl

{

printf("xl");

num -= 40;

}

else if (num >= 10) // 10 - x

{

printf("x");

num -= 10;

}

else if (num >= 9) // 9 - ix

{

printf("ix");

num -= 9;

}

else if (num >= 5) // 5 - v

{

printf("v");

num -= 5;

}

else if (num >= 4) // 4 - iv

{

printf("iv");

num -= 4;

}

else if (num >= 1) // 1 - i

{

printf("i");

num -= 1;

}

}

return 0;

}

User DJ Forth
by
4.6k points