以下函数计算大小为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);
}
这个问题的测验