Post History
C (gcc), 774 bytes #define S strcat(o, #define I(s)if(n)S s);else{S" ");return;} #define B);break;case n,N,s;char*i,o[999],*d[]={"zero ","one ","two ","three ","four ","five ","six ","seven "...
Answer
#1: Initial revision
# [C (gcc)], 774 bytes <!-- language-all: lang-c --> #define S strcat(o, #define I(s)if(n)S s);else{S" ");return;} #define B);break;case n,N,s;char*i,o[999],*d[]={"zero ","one ","two ","three ","four ","five ","six ","seven ","eight ","nine ","ten ","eleven ","twelve ","thir","four","fif","six","seven","eigh","nine"},*t[]={"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"},l[]="A";p(){if(n>99){S d[n/100]),S"hundred"),n%=100;I(" and ")}if(n>19){S t[n/10-2]);n%=10;I("-")}S d[n]);if(n>12)S"teen ");}main(int c,char**v){i=*++v;for(;*i;i++){if(*i>47&*i<58)n=10*n+*i-48,N=1;else if(*i==32);else if(*i>64)*l=*i&95,N=2,S" "+!s++),S l);else{S" "+!s++);N&1&&p(o);switch(*i-42){case 1:S"plus"B 3:if(N)S"minus");else S"negative"B 0:S"times"B 5:S"divided by"B 19:S"equals"B 9:;}n=N=0;}}if(N&1)S" "+!s),p();puts(o);} This code takes input from the command line, and outputs on stdout. [Try it online!][TIO-ku3y8q3w] [C (gcc)]: https://gcc.gnu.org/ [TIO-ku3y8q3w]: https://tio.run/##TZJNc5swEIbv@RVbdepBQkyA2EmwimeaWy6@cPT4QEAYTbFwQdhxPfx2dyXjTk77oXcfrVZbBLuiuF6/l7JSWkIGvemK3Hgtf7jn3r2eqsrTFA@pkE0vLxkBQkUnzdBpMf5XvlHx0cn8tyjyXj5ovua9KOq8Y4q3myRJtpyVm216IX9l1wLhpMUiNObkIlN30sVVO3TOqqOLe/XpjDxKbR2pdrWxjlYTYMo3d4U5yeZWa2rVTUhHrG68O26iTSwycmZchwjQ5jzVO6dqJ6sqZxFysxbjPNfWeUKhM/IGWeQXEQePXuwIV0lCLxmUG/0YheGW8ozUgy47WRLK9Y8Uk@LdI5DrEgc8upLIlRhXEsRbKpzOygKUOBgmb9KYZjgLOwIqxn2utKe0gYK7T2BHbCJlvn8U@BZPMCWU77vGmFrNX2ZM/Vy8Uo10pn2mgvkrX6eR@3FwojR9iumXePU8p6xJmZolC5TG3O6F/61HKs@g@bIst6RYz6LZ7OC1VPQnZYras7fE9GL3BaJlRg7N0JM3eFoif42P2SuNienOjGi5yw0uBUpCVBu1l1a@QL9UR1XKEj7OmIgSzMg/Q97Y42QpRp2u01CMdqTYBJ16ohx/RhwG09uexuv1GoEfhBDAPJwziMMgSkJ4BIjiBFJYhCH48InH538 "C (gcc) – Try It Online"