题目内容:
使用VC++6.0打开考生文件夹下的源程序文件2.cpp。请完成函数fun(char*str,charch)的定义,本函数采用二分法,在已按字母次序从小到大排序的字符数组str中,查找字符ch,若ch在数组中,函数返回字符ch在数组中的下标,否则返回1。 二分法查找的思想是初始查找区间的下界为0,上界为len-1,查找区间的中部后,k=(下界+上界)/2;若list[k]等于ch,查找成功;若list[k]>ch,则新的查找区间的下界不变,上界改为k-1;否则新的查找区间的下界改为k+1,上界不变。在新区间内继续用二分法查找。
注意:请勿改动主函数main与其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include(iostream.h>
intfun(char*str,charch)
{
}
voidmain()
{
charstr[]={'a','b','C','d','e','f','9','h','i,'
j','k');
charch;
cout<<"请输入一个字符:"<<endl;
cin>>ch;
cout<<"输入字符的位置是:"<<fun(str,ch)<<endl;
return;
}
参考答案:
答案解析: