ESTUDIANTE
Publicado por AMURICIO (1 intervención) el 27/11/2002 22:45:56
NESECITO SABER COMO PUEDE UNO HACER UN PROGRAMA QUE CONVIERTA NUMEROS A LETRAS QUE NO SEAN ROMANOS, POR FAVOR EN C
Valora esta pregunta


0
#include <stdio.h>
#include <string.h>
void convertToWords(int num) {
// Arrays para las palabras correspondientes
const char *ones[] = { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
const char *teens[] = { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
const char *tens[] = { "", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
const char *thousands[] = { "", "Thousand" };
if (num == 0) {
printf("Zero\n");
return;
}
if (num >= 1000) {
printf("%s ", ones[num / 1000]);
printf("%s ", thousands[1]);
num %= 1000;
}
if (num >= 100) {
printf("%s Hundred ", ones[num / 100]);
num %= 100;
}
if (num >= 20) {
printf("%s ", tens[num / 10]);
num %= 10;
} else if (num >= 10) {
printf("%s ", teens[num - 10]);
return;
}
if (num > 0) {
printf("%s ", ones[num]);
}
}
int main() {
int number;
printf("Ingrese un número: ");
scanf("%d", &number);
printf("El número en palabras es: ");
convertToWords(number);
printf("\n");
return 0;
}