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 |
因为ZJU数据弱In Reply To:为什么在ZJUac了,在这儿却wa了,谁能指点一下吗? Posted by:hujk2008 at 2004-08-12 12:38:39 > #include<stdio.h> > #include<string.h> > #define max 500 > > char a[max]; > int dig[max]={0}; > > int kongge(); > void bt(); > void fun(); > int str(); > void insatll(); > > > int kongge() //去掉空格 > { > int i=0,j=0,flag=0; > for(i=0;a[i]!='\0';i++) > { > if(a[i]==' ') > { > flag=1; > for(j=i;a[j]!='\0';j++) > a[j]=a[j+1]; > a[j]=a[j+1]=a[j+2]='\0'; > } > } > return flag; > } > > void bt(void) //去掉 (a)和()的情况 > { > int i; > for(i=0;a[i+2]!='\0';i++) > { > if(a[i]=='('&&a[i+2]==')') > { > a[i]=a[i+2]=' '; > } > if(a[i]=='('&&a[i+1]==')') > { > a[i]=a[i+1]=' '; > } > } > } > > > > void fun(void) //去掉 .(..+(a+b).).等情况 > { > int i,p,flag=0,count=0; > char pre='+'; > for(i=0;a[i]!='\0';i++) > { > if(a[i]=='(') > { > if(flag)count++; > else > { > if(pre!='-') > { > flag=1; > p=i; > } > } > } > if(a[i]==')') > { > if(flag) > { > if(count==0) > { > a[p]=a[i]=' '; > break; > } > else > count--; > } > } > pre=a[i]; > } > } > > > > int str() //接收字符串 > { > int i=0; > char temp; > while((temp=getchar())!=EOF) > { > if(temp==' ')continue; > if(temp=='\n') > { > a[i]='\0'; > return 1; > } > else > a[i++]=temp; > } > return 0; > } > > void install(void) //初始化,可以不要这个函数,为specials起见,就加了这个函数 > { > int i; > for(i=0;i<max;i++) > a[i]='\0'; > } > > int main() > { > int testnum; > scanf("%d",&testnum);getchar(); > while(testnum--) > { > install(); > if(!str()) > return 1; > bt(); > while(kongge()) > bt(); > fun(); > while(kongge()) > fun(); > printf("%s\n",a); > } > return 1; > } > Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator