#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); long int i=0; long int n=1; long int m=1; long int s = 0; // int first = 0; // printf("%s",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; // first = 0; // printf("pr%s",words[i]); l += strlen(words[i])+1; while (strlen(l)){ // l += strlen(words[i])+1; // printf("%s ",word[i]); /* if (!first && !strcmp(word,"negativ")) { n =-1;first= 1;}; */ 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"){ if(m > 1000) m *= 1000; else m = 1000;}; A("million"){ m = 1000000;}; free(words[j]); // printf("a%s\n",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; }