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;
}

2 comentarios:

Unknown dijo...

Hola buenas noches disculpen tengo una duda en un programa que estoy realizando, y lo tengo que entregar mañana quería saber si me pueden ayudar por que no me salen algunas cosas.

Unknown dijo...

Es como este programa solo que el mio es con una funciones y tiene que pasar números arábigos a romanos

Publicar un comentario