Determinar un algoritmo que permita convertir un número arábigo comprendido entre 1 y 999 a números romanos
Solución
- Entrada: 697
- Salida: DCXCVII
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N;
const char *Unidad[]={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX"};
const char *Decena[]={"", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC"};
const char *Centena[]= {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
printf("Ingrese un numero entre 1-999: \n");
scanf("%d",&N);
int u=N%10;
int d=(N/10)%10;
int c=N/100;
if(N>=100){
printf("%s%s%s",Centena[c],Decena[d],Unidad[u]);
}else{
if(N>=10){
printf("%s%s",Decena[d],Unidad[u]);
}else{
printf("%s",Unidad[N]);
}
}
return 0;
}
6 comentarios:
Super bien me ayudo demaciado
y se le quiero agregar undades de mil
y se le quiero agregar undades de mil
:v
No debería en el ultimo else Unidad[u] en vez de Unidad[N]
Lo mismo ps sonso
Publicar un comentario