简单对分查找

    科技2022-07-12  120

    (C++)十个数字的简单对分查找

    #include<iostream> using namespace std; int dorank(int key, int a[]) { int lo, hi; lo = 0; hi = 9; while (lo <= hi) { int mid = lo + (hi - lo) / 2; if (key < a[mid]) hi = mid - 1; else if (key > a[mid]) lo = mid + 1; else return mid; } return -1; } int main() { int a[10] = { 0 }; int i, aim, j; cout << "Please enter 10 numbers." << endl; for (i = 0; i < 10; i++) { cin >> a[i]; } cout << "Please enter your number." << endl; cin >> aim; j = dorank(aim, a); if (aim == j) { cout << "Congratulations ! You find it." << endl; } else if (j == -1) { cout << "No numbers." << endl; } return 0;

    if语句中判断条件是==,而不是单个等号(赋值),如果是单个等号,那个if语句条件一定成立。

    Processed: 0.013, SQL: 8