- 612 名前:*nix厨 mailto:sage [02/07/31 19:12]
- 7行リハビリということでBASICを少し刈り込みました
#include <stdio.h> #include <stdlib.h> int b[2<<16],f,g,i,n;char l[103][80],c[80],*p,*q,*r,x;S(){for(;*p==32;++p);}T() {for(r="GOTO \0PUT \0 ET \0 IF \0 RUN\0 QUIT"+6*n++,*r&&*r==*p;++r)++p;return !*r&&(S()|1);}I(){g=atoi(p);return*p-48?g?g:b[*(short*)p]:g;}main(){for(;;){gets (p=l[i=100]);while(i<101){n=0;S();if(*(q=p)==48||atoi(q))for(p=l[atoi(q)],q+=3; *p++=*q++;)i=101;else p=!*q?l[++i]:T()?l[i=I()]:T()?printf("%d\n",I()),l[++i]:T ()?printf("?"),gets(c),b[*(short*)p]=atoi(c),l[++i]:T()?(I()?p+3:l[++i]):T()?l[ i=l[100][0]=0]:T()?exit(0),0:(61-q[2]?puts("ERR"):(p=q+3,f=I(),x=p[2]-43,p+=3,g =I(),b[*(short*)q]=x?x-2?x+1?x-4?x-17?x-19?x+10?x-18?x+6?f:f%g:f==g:f!=g:f>g:f< g:f/g:f*g:f-g:f+g),l[++i]);}puts("OK");}}
|

|