我的问题很简单。在我的下面的代码中,我使用了两个for循环来对数组进行某些操作。我必须更新外部for循环,以便从j
的内部for循环中完成。因此,如果在内部for循环中j=3
所以k=3+1
,那么上面的for循环必须是i=4
。但是,不是在上面的for循环中,它依次计算i=0,1,2,3.....
如何让它像我描述的那样工作?
int k = 0;
int sum = 0;
for (int i = k; i < n; i++) {
int d = arr[i];
sum++;
for (int j = i + 1; j < n; j++) {
if (arr[j] > d && arr[j] < d + 4) {
sum++;
}
if (arr[j] > d + 4) {
k = j;
break;
}
}
}
答案 0 :(得分:0)
尽管你在内部循环中更改了k它永远不会改变i的范围,它总是会是0,1,2,3 .....而不是你可以使用while循环并添加一个计数器在条件。 例如:
int i = 0;
while(i < 10){
i = i+1;
if(i == 10){
i = i - 1;
}
}
现在情况正在发生变化。
答案 1 :(得分:0)
在你的第二个if语句中改变
k=j
到
i=j
你很高兴