2022.10.24
以下面这个程序举例,
输入一个n值,输出以下字样,如n = 6
1 2 3 4 5 6
1 1 2 3 4 5
1 1 1 2 3 4
1 1 1 1 2 3
1 1 1 1 1 2
1 1 1 1 1 1
#include <stdio.h>
int main ()
{
int i, j, n;
int m;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
m = 1;
for (j = 0; j <= i; j++)
printf("%d ", m);
for (j = i + 1; j < n; j++)
printf("%d ", ++m);
printf("\n");
}
}
上面是我们的程序,令n = 6,运行第一个for时,i = 0,i <n,此时m = 1,,运行第二个for,j =0,j<=i=0,输出m,此时j>i,j++=1,运行第三个for,j = i+1=1,输出++m=2,继续第三个for,j++=2,一直到j = 6,退出第三个for,共输出1 2 3 4 5 6\n,回到第一个for。i = 1,i <n,运行两遍第二个for,j =2,退出第二个for并输出两遍m,运行第三个for,j = i+1=2,输出++m=2,继续第三个for,一直到j = 6,退出第三个for,共输出1 1 2 3 4 5\n,之后一直循环,直到i++=6=n。循环执行六遍,共输出
1 2 3 4 5 6
1 1 2 3 4 5
1 1 1 2 3 4
1 1 1 1 2 3
1 1 1 1 1 2
1 1 1 1 1 1