有乙個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 緩衝...