解题思路
首先需要判断 d 的值是 0 还是 1 ,0 为空心、1 为实心
实心的很好实现,就是我们输出长方形的那样:外部(有 i 的循环)1 ~ a,内部(有 j 的循环)1 ~ b
难点就在于实心,但观察一遍就会发现:这个空心的图形其实就是上面 b 个 c ,中间左边 a 个 c 、右边 a 个 c,最后一行 吧 b 个 c。这样我们就理清楚了,一共 3 个循环
上面和下面的循环就是从 1 遍历到 b ,一直输出 c ,最后加上换行
中间的先输出一个 c ,然后遍历输出空格( " " ),最后再输出 c
但是需要注意,因为我们两边都输出了 c ,所以空格的长度应该是遍历到 b 再减 2 (竖列同理也应该减 2 )
代码