📜  门| GATE-CS-2016(Set 1)|第44章

📅  最后修改于: 2021-06-28 23:52:36             🧑  作者: Mango

以下函数计算大小为n(n> = 1)的整数数组p []中包含的最大值

int max(int *p, int n)
{
    int a=0, b=n-1;
    while (__________)
    {
        if (p[a] <= p[b])
        {
            a = a+1;
        }
        else
        {
            b = b-1;
        }
    }
    return p[a];
}

缺少的循环条件是

(A)一个!= n
(B) b!= 0
(C) b>(a + 1)
(D) b!= a答案: (D)
解释:

#include
int max(int *p, int n)
{
    int a=0, b=n-1;
    while (a!=b)
    {
        if (p[a] <= p[b])
        {
            a = a+1;
        }
        else
        {
            b = b-1;
        }
    }
    return p[a];
}

int main()
{
   int arr[] = {10, 5, 1, 40, 30};
   int n = sizeof(arr)/sizeof(arr[0]);
   std::cout << max(arr, 5);
}


这个问题的测验