通常,在解决Internet上的预制问题时,我发现自己处于一种需要以两个循环进行置换但不能重复的情况,因为通常会有两个具有乘积性质的乘积。 我想获得最简单的方法:
for (int i = 0; i <= 2; i++) {
for (int j = 0; j <= 2; j++) {
printf("%d %d\n",i ,j);
}
}
输出:
0 0,
0 1,
1 0,
1 1,
1 2,
2 0,
2 1,
2 2,
没有重复,所以像这样:
0 0,
0 1,
1 1,
1 2,
2 0,
2 2.
答案 0 :(得分:-1)
鉴于 i 和 j 都增加到了相同的最大数字,您可以通过以下操作来摆脱:
for (int i = 0; i <= 2; i++) {
for (int j = 0; j <= 2; j++) {
if (j >= i) {
printf("%d %d\n",i ,j);
}
}
}
如果 j 小于 i ,则意味着已经打印了相同的 i 值,并且都打印了两个变量。