如何做一个C语言编程的汉诺塔游戏?
#include绛旓細hanoi(int n,char a,char b,char c)//灏唍涓洏瀛愪粠a閫氳繃b绉诲姩鍒癱 { if(n==1)move(a,1,c); //灏嗙紪鍙蜂负1鐨勭洏瀛愪粠a绉诲姩鍒癱 else { hanoi(n-1,a,c,b);move(a,n,c);//灏嗙紪鍙蜂负n鐨勭洏瀛愪粠a绉诲姩鍒癱 hanoi(n-1,b,a,c);} } ...
绛旓細鍐涓涓鍑芥暟鐢ㄩ掑綊瀹炵幇 鐢╟har浠h〃鐩樺瓙,ABC浠h〃瑁呯洏瀛愮殑骞冲彴 鏈缁堝皢A涓婃墍鏈夌洏瀛愮Щ鍒癈涓 void hanoi(int n, char A, char B, char C) { if (n == 1) { move(A, C); //鍙湁涓涓洏瀛愶紝鎶婂畠浠嶢绉诲埌C涓 } else { hanoi(n-1,A,C,B);//灏咥涓妌-1涓鐩樺瓙绉诲埌B涓 move(A锛孋);...
绛旓細瑕佺湅鎳傞掑綊绋嬪簭锛屽線寰搴斿厛浠庢渶绠鍗曟儏鍐电湅璧枫傚厛鐪媓anoi(1, one, two, three)鐨勬儏鍐点傝繖鏃剁洿鎺ュ皢one鏌变笂鐨涓涓鐩樺瓙鎼埌three鏌变笂銆傛敞鎰忥紝杩欓噷one鏌辨垨three鏌卞埌搴曟槸A銆丅杩樻槸C骞朵笉閲嶈锛岃璁颁綇鐨勬槸鍑芥暟绗簩涓弬鏁颁唬琛ㄧ殑鏌变笂鐨勪竴涓洏琚惉鍒扮鍥涗釜鍙傛暟浠h〃鐨勬煴涓娿備负鏂逛究锛屽皢杩欎釜鍔ㄤ綔璁颁负锛歰ne =銆...
绛旓細杩欐牱鍐欐垜杩樻病鏈夎杩囷紝鎰熻涓鎬庝箞鏍锛屾垜瑙佽繃涓绉嶅啓娉曪紙浼唬鐮侊級鍋囪鍒濆鐘舵佷粠宸﹀埌鍙充緷娆℃槸鏌盉AC锛岀洏瀛愬湪A涓婏紙椤哄簭鍏跺疄鏃犳墍璋擄級锛岀洰鏍囦粠A鍒癈锛屽嵆鍙崇Щ N鏄洏瀛愪釜鏁扮洰锛+1琛ㄧず鍙崇Щ锛屽鏋滃埌浜嗗凡缁忓湪鏈鍙宠竟锛岀洿鎺ュ惊鐜埌鏈宸﹁竟鐨勶紱-1琛ㄧず涓庢姝eソ鐩稿弽 浼唬鐮 void hanoi锛坕nt N,int d锛//d=1 { ...
绛旓細/*浠巉romneedle涓婂熷姪toneedle灏哊-1涓鐩樺瓙绉诲姩鍒皍singneedle涓*/ ++i;switch(fromneedle) /*灏唂romneedle 涓婄殑涓涓鐩樺瓙绉诲埌toneedle涓*/ { case 'a': switch(toneedle){ case 'b': printf("\t[%d]:\t%2d...>%2d\n",i,n,n);break;case 'c': printf("\t[%d]:\t%2d...>%2d...
绛旓細hanoi(n-1,two,one,three); }} void move(char x,char y) {cout<<x<<"-->"<<y<<endl;} xw597709862 | 鍙戝竷浜2011-11-18 涓炬姤| 璇勮 0 0 涓烘偍鎺ㄨ崘: 姹夎濉旈棶棰 姹夎濉旈掑綊绠楁硶 姹夎濉攃璇█绋嬪簭浠g爜 C璇█鎴 姹夎濉旀槸浠涔 姹夎濉旀父鎴 C璇█閫掑綊姹夎濉 c璇█绋嬪簭璁捐 c璇█鍏ラ棬鑷...
绛旓細2銆佹妸闄ょ涓鐗囦互澶栵紝鍙互绉诲姩鐨勫彟澶栦竴鐗囩Щ鍔ㄥ埌鍙互绉诲姩鐨勪负姝紝杩欎釜鐪嬩技妯$硦锛屼絾鍏跺疄鍏崇郴鏄‘瀹氱殑锛岃繖涓椂鍊欏彧鏈変竴鐗囧彲浠ョЩ鍔紝鑰屼笖浣嶇疆涔熷彧鏈涓涓鍙互璁╁畠绉诲姩銆傚氨鏄繖涔堜袱涓楠わ紝鐢ㄦ潵瀹屾垚姹夎濉 涓嬮潰鏄垜鐨绋嬪簭 锛堟敞锛氭垜鍦ㄧ▼搴忎腑浣滀簡涓紛锛屽鏋滄槸濂囨暟鐗囷紝閭i『搴忎竴瀹氭槸A->C->B,锛堝叾涓瑼鏄師鏌憋紝B...
绛旓細姹夎濉鏄涓涓鍒╃敤閫掑綊鍑芥暟鐨勭粡鍏镐緥瀛愶紝鍒╃敤涓涓嗗悜鐨勬濈淮杩涜瑙d綋锛岄氳繃鏈鍚庝竴姝ュ悜绗竴姝ユ帹杩
绛旓細void main(){ int n;printf("please input number: ");scanf("%d",&n);printf("the stemp is :\n");hounit(n,'a','b','c');}娌℃湁澶ぇ闂 涓嬫娉ㄦ剰涓鐐瑰氨琛屼簡 n鍓嶉潰涓瀹氳鍔犱笂&
绛旓細Nuo(MidTa,FromTa,ToTa,(NeedMove-1));//鏈鍚庢妸鎸埌涓棿濉斾笂鐨凬-1涓閮芥尓鍒扮洰鏍囧涓婏紙杩欓噷浣犺鍏堝亣璁捐繖鏍风殑鍑芥暟鑳藉疄鐜版湰鍔熻兘锛墋 else { NuoYiWei(FromTa,ToTa);//灏卞墿涓涓瑕佹尓鍔ㄤ簡灏辩洿鎺ユ尓鍔 } } 杩欎釜鍑芥暟鏄湪C++閲屽啓鐨勶紝濡傛灉鐢C璇█杩樿娉ㄦ剰浜涖傛垜杩欓噷杩樻湁鐢–鍐鐨勬眽璇哄鐨绋嬪簭锛屼綘缁欐垜...