int abc(int n,int s,int k)
{
int i;
if(k==0) return;
for(i=0;i<n-1;i++) printf(" ");
for(i=0;i<2*s-1;i++) printf("%d",s);
printf("\n");
s<k?abc(--n,++s,--k):abc(++n,--s,--k);
}
main()
{
int n;
scanf("%d",&n);
abc(n,1,2*n-1);
}
算法四:
将上一算法完全递归化,达到C语言语法和逻辑上两方面的颠峰