#include <iostream> #include <cmath> using namespace std; int main() { int n;//定义整数 while(scanf("%d",&n)!=EOF)//输入整数n { for(int i=1;i<2*n;i++)//要打印的行数 { for(int j = 0;j<abs((n-i)%n);j++)//打印空格 { printf(" "); }; if(i<=n)//把每行输出分为行数大于n和行数小于等于n,这是行数小于等于n时 { for(int m=1;m<=i;m++) { printf("%d",m); }; for(int m=i-1;m>=1;m--) { printf("%d",m); }; } else//行数大于n时 { for(int m=1;m<=n-(i-n);m++) { printf("%d",m); }; for(int m=n-(i-n)-1;m>=1;m--) { printf("%d",m); }; }; printf(" ");//换行 }; } return 0; }