二、 填空。
1. 下述函数在一维数组v上将x插入到下标为i的元素前, i≥0.如果i≥元素的个数,则x插到末尾。原有的元素个数存放在指针n所指向的变量中,插入后元素个数增加。
void insline(double v[],int *n,double x,int i)
{ int j;
if(__(1)______ )
for(j=*n-1;___(2)____;j–)
_____(3)______=v[j];
else
i=*n;
v[i]=___(4)_____;
(*n++);
(1) i<*n (2) j>=i (3) v[j+1] (4) x
2. 下述函数用二分法查找key值。数组中元素值已按递增次序排列,若找到key值则返回对应的下标,否则返回-1。
int binary(double a[],int n,double key)
{int low,high,mid;
low=0;
high=n-1;
while(__(1)______)
{mid=(low+high)/2;
if(key<a[mid])
____(2)______;
else
if(key>a[mid])
___(3)_________;
else
_____(4)__________;
}
return –1;
}
(1)low<=high (2)high=mid-1 (3)low=mid+1 (4)return mid
3.本程序用改进的气泡排序法对数组a的元素从小到大排序。
void bubble(int a[],int n)
{ int j,k,jmax,temp;
jmax=____(1)______;
do
{ k=__(2)________;
for(j=0;j<jmax;j++)
if(a[j]>a[j+1])
{ temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
k=__(3)_____________;
}
jmax=__(4)________;
}while(jmax>0);
}
(1)n-1 (2)0 (3)j (4)k
评论列表
文章目录