Pages

sábado, 23 de febrero de 2013

Convertir a números ordinales entre 1 y 999 Codigo en C

Problema
Determinar un algoritmo que permita convertir un número arábigo  comprendido entre  1 y 999 a números ordinales

Solución
  • Entrada: 697
  • 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;
}

0 comentarios:

Publicar un comentario en la entrada