| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
求救!到底哪错了?#include<stdio.h>
#include<string.h>
unsigned char m[32768];
char p[128001],s[1000000],o[10000000];
main()
{
int n;
scanf("%d",&n);
for(int z=1;z<=n;z++)
{
int l=0;
gets(s);
int c=0;
while(strcmp("end",s)&&(c>=0)&&(c<2))
{
char *t=s;
while(*t)
{
if((*t=='<')||(*t=='>')||(*t=='+')||(*t=='-')||(*t=='.')||(*t=='[')||(*t==']'))
{
if(*t=='[')c++;
else if(*t==']')c--;
p[l++]=*t;
}
else if(*t=='%')break;
t++;
}
gets(s);
}
printf("PROGRAM #%d:\n",z);
if(c)puts("COMPILE ERROR");
else
{
for(int i=0;i<32768;i++)m[i]=0;
char *t=p,*q=o;
*q=0;
int a=0,c=1;
while(((t-p)<l))
{
switch(*t)
{
case '>':a=(a+1)%32768;break;
case '<':a=(a+32767)%32768;break;
case '+':m[a]++;break;
case '-':m[a]--;break;
case '.':*q=m[a];*(++q)=0;break;
case '[':
if(!m[a])
{
while(((t-p)<l)&&(*t!=']'))t++;
}
break;
case ']':
if(m[a])
{
while((t>=p)&&(*t!='['))t--;
}
break;
}
t++;
}
puts(o);
}
}
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator