首先,观察一下,
1、假设输入的奇数==5,这时中间的那行要打印5个*,第一行如果想对齐,就要打印两个空格,第三个位置打印*,后两个再放两个空格,第二行前后打印一个空格
假设输入的奇数==7,那么第一行打印三个空格,第四个放*,然后再打印三个空格。。。
2、x=5时,每行的第三个永远是*,x=7时,每行的第四个永远是*
3、x=5时,要打印5行,每行5个字符,x=7时,要打印7行,每行7个字符。
所以:
x=5时,(x/2)+1 = 3 就是最中间,第一行要打印3-1个空格,2*1-1个*,3-1个空格,第二行要打印3-2个空格,2*2-1个*,3-2个空格,第三行要打印3-3个空格,2*3-1个*,3-3个空格
x=7时,(x/2)+1 = 4 就是最中间,第一行要打印4-1个空格,1个*,4-1个空格,
找到规律了。。。。把行号代进去:
x=5时,(x/2)+1 = 3 就是最中间,那么当row < (x/2)+1:第row行要打印3-row个空格,2*row-1个*,3-row个空格。
当row == (x/2)+1:直接打印x个*
当row > (x/2)+1:把row换成x-row
|