c中的重复循环

  • 本文关键字:循环 c loops
  • 更新时间 :
  • 英文 :


为什么存在重复的值?它应该是这样的,但结果是这样的。我想找到一对2d数组,它的和等于输入的数字。

这是我的代码

#include <stdlib.h>
#include <stdio.h>
void main() {
int num[3][4] = {5, -1, 17, 8, 4, 18, -3, 15, 26, 6, -6, 10};
int checker, val;
printf("Enter integer to check: ");
scanf("%d", &checker);
printf("The pair of integers that add to %d aren", checker);
for (size_t value = 0; value < 12; value++) {
for (size_t value1 = 0; value1 < 12; value1++) {
for (size_t value2 = 0; value2 < 12; value2++) {
for (size_t value3 = value2 + 1; value3 < 12; value3++) {
val = num[value][value1] + num[value2][value3];
if (val == checker) {
printf("[%d,%d],", num[value][value1], num[value2][value3]);
}
}
}
}
}
}

当前您正在做:

printf("[%d,%d],", num[value][value1], num[value2][value3]);

我建议你这样做:

printf("value=[%d], value1=[%d], value2=[%d], value3=[%d], [%d,%d],", 
value, value1, value2, value3,
num[value][value1], num[value2][value3]);

因此,不仅打印矩阵值,还打印索引。你会看到发生了什么。

相关内容

  • 没有找到相关文章

最新更新