在观察图形后,显然采用直接输出的方式求解比较麻烦,所以思考了数组的解答方案,通过精确定位数组下标,然后赋值的方式,完成箩筐的编写。 在一开始的思考中,我采用的是从中心点开始向上辐射的方式,这样的思路比较简单,上下左右四个方向思路一致,只需要修改相关定位的代码。(这一步骤在王道书答案中优化为了采用length的设定同时像四个方向赋值,代码量更少)

本题个人认为需要注意的几个点是:

1,空行的处理,第一组前不需要空行,这里用了一个f来判断是否为第一次编筐,由于不清楚后置换行是否有影响,建议还是采用前置换行的方式更稳妥,尤其是io赛制

2,n=1的情况,应该是输出中心字符。评论区说输出外部字符的有误。这里的判断依据应该是n-1/2后是否为偶数,样例n=11 n-1/2=5 最外圈为outer |||| n=5 最外圈为 iner n=1时,n-1/2为偶数 应该输出iner 代码中由于固定的删除四角内容代码,会导致输出空,故作特判

3,王道的代码更简洁,但是个人感觉不易于调试,如果不是思路特别清楚的话我还是喜欢这样分开处理,写完一部分就可以验证效果