单选题:已知N元整型数组a存放N个学生的成绩,已按由大到小排序,以下算法是用对分(折半)查找方法统计成绩大于或等于X分的学生人数,请填空
已知N元整型数组a存放N个学生的成绩,已按由大到小排序,以下算法是用对分(折半)查找方法统计成绩大于或等于X分的学生人数,请填空使之完善。
```
#define N /*学生人数*/
int uprx(int a[N],int x ) /*函数返回大于等于X分的学生人数*/
{
int head=1,mid,rear=N;
do {
mid=(head+rear)/2;
if(x<=a[mid]) (1) else (2) _;
}while(__(3)_ _);
if (a[head]return head;
}
```
@[D](2)
A. (1)rear=mid (2)head=mid (3)head>rear
B. (1)head=mid+1 (2)head=mid+1 (3)head=rear
C. (1)rear=mid-1 (2)head=mid (3)head=rear
D. (1)rear=mid-1 (2)head=mid+1 (3)head>rear
A.(1)rear=mid (2)head=mid (3)head>rear
B.(1)head=mid+1 (2)head=mid+1 (3)head=rear
C.(1)rear=mid-1 (2)head=mid (3)head=rear
D.(1)rear=mid-1 (2)head=mid+1 (3)head>rear
答案:D
```
#define N /*学生人数*/
int uprx(int a[N],int x ) /*函数返回大于等于X分的学生人数*/
{
int head=1,mid,rear=N;
do {
mid=(head+rear)/2;
if(x<=a[mid]) (1) else (2) _;
}while(__(3)_ _);
if (a[head]
}
```
@[D](2)
A. (1)rear=mid (2)head=mid (3)head>rear
B. (1)head=mid+1 (2)head=mid+1 (3)head=rear
C. (1)rear=mid-1 (2)head=mid (3)head=rear
D. (1)rear=mid-1 (2)head=mid+1 (3)head>rear
A.(1)rear=mid (2)head=mid (3)head>rear
B.(1)head=mid+1 (2)head=mid+1 (3)head=rear
C.(1)rear=mid-1 (2)head=mid (3)head=rear
D.(1)rear=mid-1 (2)head=mid+1 (3)head>rear
答案:D