若k为整形,下述while循环执行的次数为()。k=1000whilek>1:printkk=k/2
A.9
B.10
C.11
D.1000
A.9
B.10
C.11
D.1000
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
A.do-while先执行循环中的语句,然后再判断表达式是否为真
B.循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句.
C.do-while循环至少要执行一次循环语句.
D.while先执行循环中的语句,然后再判断表达式是否为真
A.10
B.1
C.死循环,不能确定次数
D.6
void delete_openhash(keytype K,openhash HP)
{ i=H(K);
if(HP[i]==NULL)return; /*空表则退出*/
p=HV[i];
if(p—>key==K){______=p—>next;free(p);return;)
/*表首结点为待删除结点时的删除*/
while(p—>next!=NULL) /*其他情况下的删除*/
{ q=p;p=p—>next;
if(p—>key==K){______=p—>next;delete(p);return;)
}
}
阅读下列算法,并回答问题:
(1)设串s="OneWorldOneDream",t="One",pos是一维整型数组,写出算法f32(s,t,pos)执行之后得到的返回值和pos中的值;
(2)简述算法f32的功能。
int strlen(char*s); /*返回串S的长度*/
int index(char*st,char*t);
/*若串t在串st中出现,则返回在串st中首次出现的下标值,否则返回-1*/
int f32(char*s,char*t,int pos[])
{ int i,j,k,ls,It;
Is=strlen(s);
lt=strlen(t);
if(ls==0|| It==0)return-1;
k=0;
i=0;
do {
j=index(s+i,t);
if(j>=0)
{ pos[k++]=i+j;
i+=j+it;
}
}while(i+it<=is&&j>=0);
return k;
}