vc的问题 各位帮忙看看啊 新手麻烦说清楚点
5吧
全部回复
仅看楼主
level 1
panshangxun1 楼主
#include<iostream>
using namespace std;
int panduan(int o,int p,int q,int r,char z[3],int cengci)
{int i=cengci;
     for(;i<5;)
{switch(i){case 0:
                   o--;p--;q++;r++;z[0]='x';z[1]='y';z[2]=' ';break;
            case 1:
                o-=2;q+=2;z[0]='x';z[1]='x';z[2]=' ';break;
            case 2:
                p-=2;r+=2;z[0]='y';z[1]='y';z[2]=' ';break;
            case 3:
                o-=1;q+=1;z[0]='x';z[1]='k';z[2]=' ';break;
            case 4:
                p-=1;r+=1;z[0]='y';z[1]='k';z[2]=' ';break;
           
}
     if(p>=o||r>=q){i++;if(i>=5)cout<<"shibai"<<endl;}
else break;}
cengci=i;
return cengci;
}
void main()
{    char chuan[100],c[3],*p=&c[2];
     int a=0,b=0,x=3,y=3,d=0,n=0;
         while(x+y)
     {int cs1,cs2,e;
                  cs1=panduan(x,y,a,b,c[3],0);
         switch(cs1)
         {case 0:
         x--;y--;a++;b++;for(e=0;e<3;e++)chuan[n]=c[e];break;
         case 1:
             x-=2;a+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
         case 2:
             y-=2;b+=2;for(e=0;e<3;e++)chuan[n]=c[e];break;
         case 3:
             x-=1;a+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
         case 4:
             y-=1;b+=1;for(e=0;e<3;e++)chuan[n]=c[e];break;
         }
         n+=3;
       cs2=panduan(a,b,x,y,c[3],0);
       if(cs2==cs1){d=cs2;d++;}
       cs2=panduan(a,b,x,y,c[3],d);
       switch(cs2)
       {case 0:
         a--;b--;x++;y++;for(e=0;e<3;e++)chuan[n]=c[i];break;
         case 1:
             a-=2;x+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
         case 2:
             b-=2;y+=2;for(e=0;e<3;e++)chuan[n]=c[i];break;
         case 3:
             a-=1;x+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
         case 4:
             b-=1;y+=1;for(e=0;e<3;e++)chuan[n]=c[i];break;
       }n+=3;
         }
         for(int i=0;i<n;i++)cout<<chuan[i];
         system("pause");
}

2010年07月13日 12点07分 1
1