謎題 c語言

2021-08-21 15:44:47 字數 695 閱讀 4110

有乙個5*5的網格,其中恰好有乙個格仔是空的,其他格仔各有乙個字母。一共有4種指令:a, b, l, r,分別表示把空格上、下、左、右的相鄰字母移到空格中。輸入初始網格和指令序列(以數字0結束),輸出指令執行完畢後的網格。如果有非法指令,應輸出「this puzzle has no final configuration.」 

例如,圖3-5中執行arrbbl0後,效果如圖所示。 

int x=2,y=1;                 //空格的座標

scanf("%s",s);

for(int i=0; s[i]!='0'&&s[i]!='\0'; i++)

else

};break;

case 'b':

else

};break;

case 'l':

else

};break;

case 'r':

else

};break;}}

for(int i=0; i<5; i++)

printf("%s\n",q[i]);

return 0;

}

C語言謎題

1 下面的程式並不見得會輸出 hello std out,你知道為什麼嗎?include include int main return 0 參 stdout和stderr是不是同裝置描述符。stdout是塊裝置,stderr則不是。對於塊裝置,只有當下面幾種情況下才會被輸入,1 遇到回車,2 緩衝...

C語言謎題

今天看到幾個有趣的c語言謎題與大家分享一下,也避免以後犯同樣的錯誤!1 下面的程式看起來是正常的,使用了乙個逗號表示式來做初始化。可惜這段程式是有問題的。你知道為什麼呢?include int main 參 這個程式會得到編譯出錯 語法出錯 逗號表示式是沒錯,可是在初始化和變數宣告時,逗號並不是逗號...

C語言謎題

1 下面的程式並不見得會輸出 hello std out,你知道為什麼嗎?include include int main return 0 參 stdout和stderr是不是同裝置描述符。stdout是塊裝置,stderr則不是。對於塊裝置,只有當下面幾種情況下才會被輸入,1 遇到回車,2 緩衝...