代码精简了一下,没有原题,目标是找出满足a[i]+b[j]=x的数对[i,j],正确结果应为[1,1],不知为何两份代码输出结果不同 o(TヘTo)
#include <iostream>
using namespace std;
int a[10] = {1, 2, 4, 7}, b[10] = {3, 4, 6, 8, 9} ,n = 4, m = 5, x = 6;
int i = 0, j = 0;
int main() {
for(int i = 0; i < n; i ++) {
while(a[i] + b[j] > x && j > 0) {
j --;
}
while(a[i] + b[j] < x && j < m - 1) {
j ++;
}
if(a[i] + b[j] == x) {
cout << i << " " << j;
break;
}
}
}
#include <iostream>
using namespace std;
int a[10] = {1, 2, 4, 7}, b[10] = {3, 4, 6, 8, 9} ,n = 4, m = 5, x = 6;
int i = 0, j = 0;
int main() {
for(int i = 0; i < n; i ++) {
while(a[i] + b[j] > x && j > 0) {
j --;
}
while(a[i] + b[j] < x && j < m - 1) {
j ++;
}
if(a[i] + b[j] == x) break;
}
cout << i << ' ' << j;
}