#include<stdio.h>
int main()
{
int i,j,n;
printf("请输入金字塔的层数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
printf(" ");
for(j=1;j<=2*i-1;j++)
printf("%d",i);
printf("\n");
}
return 0;
}
控制主要集中在 for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) printf(" "); for(j=1;j<=2*i-1;j++) printf("%d",i); printf("\n"); } 这是嵌套循环,变量i控制外层循环次数,变量j负责内层,并且按照逻辑顺序执行所以可以复用,无需担心他的互斥性质。 变量j控制的循环一共2种,第一种是打印改行的空格符。第二种是打印该行的行号。 变量i控制的循环配合内部的printf("\n");则会进