Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****** IN C LANGUAGE *************/
- #include <string.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- char* itoa(int val, int base)
- {
- static char buf[32] = {0};
- int i = 30;
- for(; val && i ; --i, val /= base)
- buf[i] = "0123456789abcdef"[val % base];
- return &buf[i+1];
- }
- void helper(int n)
- {
- char *number;
- int i;
- int len;
- char copy[20];
- int slice;
- static char *str1[] = {
- "\0", "one", "two", "three", "four", "five", "six", "seven",
- "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen", "twenty"
- };
- static char *str2[] = {"\0", "\0", "twenty", "firty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety", "hundreds", "thousands", "millions", "billions"
- };
- static char *str3[] = {"\0", "\0", "\0", "hundred", "thousands","millions", "billions"
- };
- number = itoa(n, 10);
- len = strlen(number);
- slice = (int)(ceil(len/3.0));
- printf("%d : ", n);
- i = -1;
- while (++i < len)
- {
- if (slice == 1)
- {
- if (len == 1)
- printf("%s ", str1[number[i] - '0']);
- if (len == 2)
- {
- if (n < 21)
- {
- printf("%s", str1[n]);
- break;
- }
- else
- {
- if (i == 0)
- printf("%s ", str2[number[i] - '0']);
- else
- printf("%s",str1[number[i] - '0']);
- }
- }
- else if (len == 3)
- {
- if (i == 0)
- printf(" %s %s", str1[number[i] - '0'], str3[len]);
- else if (i == 1)
- printf(" %s ", str2[number[i] - '0']);
- else
- printf("%s ",str1[number[i] - '0']);
- }
- }/////
- else if (slice == 2)
- {
- if (len == 4)
- {
- if (i == 0)
- printf(" %s %s", str1[number[i] - '0'], str3[len]);
- else if (i == 1)
- printf(" %s %s", str1[number[i] - '0'], str3[len -1]);
- else if (i == 2)
- printf(" %s", str2[number[i] - '0']);
- else if (i == 3)
- printf(" %s", str1[number[i] - '0']);
- }
- else if (len == 5)
- {
- if (i == 0)
- printf(" %s", str2[number[i] - '0']);
- else if (i == 1)
- printf(" %s %s", str1[number[i] - '0'] , str3[len -1]);
- else if (i == 2)
- printf(" %s %s", str1[number[i] - '0'], number[i] - '0'?str3[len - 2]: "\0");
- else if (i == 3)
- printf(" %s", str2[number[i] - '0']);
- else if (i == 4)
- printf(" %s", str1[number[i] - '0']);
- }
- else if (len == 6)
- {
- printf("%s ",str1[number[i] - '0']);
- }
- }////////////
- else if (slice == 3)
- {
- if (len == 7)
- {
- if (i == 0)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 2]);
- else if (i == 1)
- printf(" %s %s", str1[number[i] - '0'], str3[len -4]);
- else if (i == 2)
- printf(" %s %s", str2[number[i] - '0'], str3[len - 3]);
- else if (i == 3)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 5]);
- else if (i == 4)
- printf(" %s %s", str1[number[i] - '0'], str3[len-4]);
- else if (i == 5)
- printf(" %s ", str2[number[i] - '0']);
- else
- printf("%s ",str1[number[i] - '0']);
- }
- else if (len == 8)
- {
- if (i == 0)
- printf(" %s", str2[number[i] - '0']);
- else if (i == 1)
- printf(" %s %s", str1[number[i] - '0'], str3[len -3]);
- else if (i == 2)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 5]);
- else if (i == 3)
- printf(" %s", str1[number[i] - '0']);
- else if (i == 4)
- printf(" %s %s", str1[number[i] - '0'], str3[len-4]);
- else if (i == 5)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 5]);
- else if (i == 6)
- printf(" %s",str2[number[i] - '0']);
- else
- printf(" %s ",str1[number[i] - '0']);
- }////
- else if (len == 9)
- {
- if (i == 0)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 6]);
- else if (i == 1)
- printf(" %s ", str2[number[i] - '0']);
- else if (i == 2)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 4]);
- else if (i == 3)
- printf(" %s %s", str1[number[i] - '0'], number[i] - '0' ? str3[len -6]: "\0");
- else if (i == 4)
- printf(" %s ", str2[number[i] - '0']);
- else if (i == 5)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 5]);
- else if (i == 6)
- printf(" %s %s",str1[number[i] - '0'], str3[len - 6]);
- else if (i == 7)
- printf(" %s ",str2[number[i] - '0']);
- else if (i == 8)
- printf(" %s ",str1[number[i] - '0']);
- }
- }
- else if (slice == 4)
- {
- if (len == 10)
- {
- if (i == 0)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 4]);
- if (i == 1)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 7]);
- else if (i == 2)
- printf(" %s ", str2[number[i] - '0']);
- else if (i == 3)
- printf(" %s %s", str1[number[i] - '0'], str3[len - 5]);
- else if (i == 4)
- printf(" %s %s", str1[number[i] - '0'], number[i] - '0' ? str3[len -7]: "\0");
- else if (i == 5)
- printf(" %s ", str2[number[i] - '0']);
- else if (i == 6)
- printf(" %s %s", str1[number[i] - '0'],str3[len - 6]);
- else if (i == 7)
- printf(" %s %s",str1[number[i] - '0'], str3[len - 7]);
- else if (i == 8)
- printf(" %s ",str2[number[i] - '0']);
- else if (i == 9)
- printf(" %s ",str1[number[i] - '0']);
- }
- }
- }
- printf("\n---------------------------------------------------------\n");
- }
- int main(int argc, char **argv)
- {
- int i;
- printf("\n---------WRITTEN IN C-LANGUAGE-------------------");
- printf("\n---------J'ECRIS EN LETTRE JUSQU'AU MILLIARD------------------- \n");
- if(argc > 1)
- {
- i = 1;
- while(argv[i])
- {
- helper(atoi(argv[i++]));
- }
- }
- return(0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement