新娘新郎配对问题,是老题吗?
新娘新郎配对问题,是老题吗?有知道的大哥大姐,请帮下小弟,小弟在这里谢过了...
/******************************************************************************* 3对情侣参加婚礼,新郎为A、B、C.新娘为X、Y、Z。A说他与X结婚,X说她与C结婚, C说Z是他的新娘。现知他们都在开玩笑。请编程配对。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 这个程序,刚开始以为很简单,设定几个条件就可以,后来发现蛮不是那么回事。 于是憋了半天,弄出这个程序来。有许多不足之处,还请大家指教,谢谢。 *******************************************************************************/ #include<stdio.h> char zhuanhuan(int i,int j) { if(j==0) switch(i) { case 0: return 'A'; case 1: return 'B'; case 2: return 'C'; } if(j) switch(i) { case 0: return 'X'; case 1: return 'Y'; case 2: return 'Z'; } } int main(void) { int a[3]={0}; int b[3]={0}; int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) { if((j==0&&i!=0)&&(j==0&&i!=2)) a[i]=1,b[j]=-1; if((i==2&&j!=0)&&(i==2&&j!=2)) a[i]=2,b[j]=-2; } for(i=0;i<3;i++) { if(a[i]!=1&&a[i]!=2) a[i]=3; if(b[i]!=-1&&b[i]!=-2) b[i]=-3; } for(i=0;i<3;i++) for(j=0;j<3;j++) if(a[i]+b[j]==0) printf("%c-%c\n",zhuanhuan(i,0),zhuanhuan(j,1)); getch(); }