2010-09-21 3 views

Répondre

0

Je ne me sens pas envie d'écrire le code (plus son vos devoirs, de sorte que vous pouvez faire partie), mais voici ce que vous allez besoin de faire:

  • vous aurez besoin de regarder vos numéros par groupes de trois afin que vous puissiez comprendre des chaînes comme "quarante-cinq mille" et "quatre cent cinquante-six". d'autant plus que chaque groupe affecte seulement les nombres dans ce groupe.
  • la position de chaque groupe affecte les modificateurs qui s'appliquent à eux.
  • Je créerais une liste des modificateurs qui s'appliqueraient à quel groupe, et comme vous regardez chaque groupe, vous pouvez appliquer dynamiquement des modificateurs. De cette façon, votre boucle n'a pas besoin de se soucier de l'endroit où il se trouve dans le nombre.

NB. mes points sont vraiment, vraiment génériques. Je regarde donc des chiffres qui peuvent dépasser 5 chiffres. si elle est juste cinq chiffres que vous aimez, vous pouvez le résoudre avec juste une instruction switch de base qui remplace les numéros dans une liste:

donné 45456:

  • subsitute le premier numéro avec le sous-100 valeur (donc 2 est remplacé par 'vingt', 3 avec 'trente', 4 avec 'quarante', etc.)

  • substituez le deuxième nombre avec la valeur verticale (donc 2 est 'deux', 3 est ' trois ', etc.)

  • ajouter le mot' thousan d »

  • subsitute le troisième nombre avec une valeur de centaines (si 2 est « deux cents », 3 est« trois cents)

  • subsitute le quatrième nombre à la valeur de sous-100 (si 2 est remplacé par vingt, etc.)

  • substituer le cinquième nombre avec la valeur verticale.

Notez que les première et deuxième étapes sont identiques aux deux dernières.

J'espère que cette aide :)

+0

Does not comptez des nombres comme 15 ou 12003. – cHao

+0

Vrai mais c'est un autre cas à gérer comme une alternative aux deux premières étapes. –

Questions connexes