【发布时间】:2018-12-11 01:47:34
【问题描述】:
我有一个包含五个随机数的 int 数组。我正在尝试检查其中三个数字是否匹配。
int die[5] = {2, 3, 5, 2, 1};
int kind = 0;
int score = 0;
int i = 0;
int x = 0;
for (i; i <= 4; i++) {
for (x; x <= 4; x++) {
if (die[i] == die[x]) {
kind++;
score += die[i];
}
}
}
我遇到的问题是它会与自己进行比较的第一个案例。这将永远成为现实。如果我向索引添加 +1,它最终会超出范围。
如果我从 1 而不是 0 开始,那么当它到达第二个数字时,它会在检查自身与第二个数字(本身)时返回相同的值。
【问题讨论】:
-
你有没有初始化你的
i和x? -
it will compare itself to itself尝试从 1 而不是 0 开始x; -
不清楚您是希望 exactly 3 匹配,还是 至少 3 匹配。这个问题有一些不涉及嵌套循环的简化。
标签: c