Problema
Determinar un algoritmo que permita convertir un número arábigo comprendido entre 1 y 999 a números ordinales
Solución
- Salida: sexcentesimo nonagesimo septimo
Codigo Fuente en C
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N;
const char *Unidad[]={"", "primero", "segundo", "tercero",
"cuarto", "quinto", "sexto", "septimo", "octavo", "noveno"};
const char *Decena[]={"", "decimo", "vigesimo", "trigesimo",
"cuadragesimo","quincuagesimo", "sexagesimo", "septuagesimo",
"octogesimo", "nonagesimo"};
const char *Centena[]= {"", "centesimo", "ducentesimo",
"tricentesimo", " cuadringentesimo", " quingentesimo",
" sexcentesimo", " septingentesimo", " octingentesimo",
" noningentesimo"};
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;
}