All pastes #32073 Raw Edit

Stuff

public c v1 · immutable
#32073 ·published 2005-12-02 03:21 UTC
rendered paste body
void subhundred(int i){	const char *low[19] = { "one", "two", "three", "four", "five", "six",				"seven", "eight", "nine", "ten", "eleven", "twelve",				"thirteen", "fourteen", "fifteen", "sixteen",				"seventeen", "eighteen", "nineteen" };	const char *tens[8] = { "twenty", "thirty", "fourty", "fifty", "sixty",				"seventy", "eighty", "ninety" };	if (i < 20)		printf("%s ", low[i-1]);	else {		printf("%s", tens[(i/10) - 2]);		if (i%10)			printf("-%s", low[i%10-1]);		printf(" ");	}}void partial(int i, int l){	const char *low[9] = { "one", "two", "three", "four", "five", "six",				"seven", "eight", "nine" };	const char *place[4] = { "", "thousand", "million", "billion" };		if (i/1000 > 0)		partial(i/1000,l+1);	if (i/100 > 0)		printf("%s hundred ", low[(i%1000)/100 - 1]);	if (i%100)		subhundred(i%100);	printf("%s ", place[l]);}void translate(int i){	if (i < 0)	{		printf("negative ");		i=-i;	}	if (i)		partial(i, 0);	else		printf("zero");	printf("\n"); }int main(int argc, char *argv[]){	if (argc == 2)		translate(atoi(argv[1]));	else		printf("Usage: %s number\n", argv[0]);	return 0;}