#include #include #include #define A(t) if(!strcmp(t,words[j])) int main(){ char line[5000]; char * word; char * words[5000]; char * l,*mr; mr= gets((char *) line); while(mr && strlen(line)){ i = 0; word = (char *)malloc(20); sscanf(line,"%s",word); words[i]= word; l = line; n = 1; m =1; s = 0; l += strlen(words[i])+1; while (strlen(l)){ i++; word = (char *) malloc(20); sscanf(l,"%s",word); words[i] = word; l += strlen(words[i])+1; }; for ( int j = i; j >= 0;j--){ printf("%s ",words[j]); A("negativ"){n = -1;} A("one"){ s += 1*m;}; A("two"){ s += 2*m;}; A("three"){ s+= 3*m;}; A("four"){ s += 4*m;}; A("five"){ s += 5*m;}; A("six"){ s += 6*m;}; A("seven"){ s += 7*m;}; A("eight"){ s += 8*m;}; A("nine"){ s += 9*m;}; A("ten"){ s += 10*m;}; A("eleven"){ s += 11*m;}; A("twelve"){ s += 12*m;}; A("thirteen"){ s += 13*m;}; A("fourteen"){ s += 14*m;}; A("fifteen"){s += 15*m;}; A("sixteen"){s += 16*m;}; A("seventeen"){ s += 17*m;}; A("eighteen"){ s += 18*m;}; A("nineteen"){s += 19*m;}; A("twenty"){ s += 20*m;}; A("thirty"){ s += 30*m;}; A("forty"){ s += 40*m;}; A("fifty"){ s += 50*m;}; A("sixty"){ s += 60*m;}; A("seventy"){ s += 70*m;}; A("eighty"){ s += 80*m;}; A("ninety"){ s += 90*m;}; A("hundred"){ if ( m > 100 ) m *= 100; else m = 100;}; A("thousand"){ m = 1000;}; A("million"){ m = 1000000;}; free(words[j]); } s = n * s; printf("%li\n",s); for(int ll=0 ; ll <5000 ; ll++)line[ll] = 0; mr = gets((char *)line); } return 0; }