我正在尝试用 C 创建一个程序来绘制这个图案:
1 1 2 1 3 1
1 2 2 2 3 2
1 3 2 3 3 3
1 4 2 4 3 4
1 5 2 5 3 5
我检查了解决方案的答案。
#include <stdio.h>
int main ()
{
int i;
int j;
for (i = 1 ; i <= 5 ; i++)
{
for (j = 1 ; j <= 3 ; j++)
{
printf("%i %i",j,i);
}
printf("\n");
}
return 0;
但我不明白为什么这段代码(上面)给出了之前的结果而不是这个结果:
1 2 3 1
1 2 3 2
1 2 3 3
1 2 3 4
1 2 3 5
1 2 3 1
1 2 3 2
1 2 3 3
1 2 3 4
1 2 3 5
如果内部循环的每次迭代都打印
j
(1, 2, 3) 的值,然后在内部循环之后打印 i
的值,则会出现此输出。然而,代码并不是这么说的。内部循环包含 printf("%i %i",j,i);
,每次调用时都会打印两个数字,一个代表 j
,另一个代表 i
。