Una clásica tarea de programación, convertir una cantidad a números romanos. Normalmente verás esta tarea soportar valores en el rango de 1 a 3999 por obvias razones. Esta es la versión en lenguaje C, la versión Java en el siguiente post.
// Tarea de programación - Números romanos #include <stdio.h> #include <stdlib.h> const char *miles[] = {"", "M", "MM", "MMM"}; const char *cientos[] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"}; const char *decenas[] = {"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"}; const char *unidades[] = {"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"}; int main() { int a; printf("Escribe un numero entre 1 y 3999: "); scanf("%d", &a); if (a < 1 || a > 3999) { printf("Debes escribir un número entre 1 y 3999.\n"); exit(0); } int m = a / 1000, c = (a % 1000) / 100, d = (a % 100) / 10, un = a % 10; printf("El número %d se escribe así en números romanos: %s%s%s%s\n", a, miles[m], cientos[c], decenas[d], unidades[un]); }
que elegante! la presentacion e indentacion del codigo tambien es agradable
LikeLike