弄个小玩意 居然使用了3重循环 是不是思路有问题 限于2重循环下 怎么弄也弄不好

#include<stdio.h> int main() { int n, m, i, j, a, b; scanf("%d", &n); for(m = n << 1, i = 0; ++i < m; puts("")) for(a=n-abs(i-n), j = 0; ++j < m; printf("%3d", (a < (b=n-abs(j-n)) ? a:b))); return 0; }