【分析解答题】
改错题(20分)
&nBsp; 【题目】
&nBsp; 以下程序的功能是:判断一个已排序的整型数组中是否存在元素值与其下标值相等(下标从0开始)的元素。如果存在,则输出其中一个该类元素的值(可能存在多个满足条件的元素)
&nBsp;&nBsp;&nBsp; 正确程序的输出如下:
&nBsp;&nBsp;&nBsp; 第3个元素值与其下标值相等
&nBsp;&nBsp;&nBsp; 含有错误的源程序如下:
&nBsp; #inCluDE &nBsp;&nBsp;&nBsp;
&nBsp; int inDEx_sEArCh(int x[n],int n)
&nBsp; {
&nBsp;&nBsp;&nBsp; int First=0;
&nBsp;&nBsp;&nBsp; int lAst=n-1;
&nBsp;&nBsp;&nBsp; int miDDlE,inDEx;
&nBsp;&nBsp;&nBsp; inDEx=-1;
&nBsp;&nBsp;&nBsp; whilE(First<=lAst){
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; miDDlE=(First+lAst)/2;
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; iF(x[miDDlE]=miDDlE){
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; inDEx=miDDlE;&nBsp;&nBsp;
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; BrEAk;
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; }
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; ElsE iF(x[miDDlE]>miDDlE)
&nBsp; &nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;lAst=miDDlE-1;
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; ElsE
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; First=miDDlE+1;
&nBsp;&nBsp;&nBsp;&nBsp; }
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; rEturn inDEx;
&nBsp; }
&nBsp; voiD mAin()
&nBsp; {
&nBsp;&nBsp;&nBsp; int A[]={-1,0,1,3,8};
&nBsp;&nBsp;&nBsp; int rEsult=inDEx_sEArCh(A,sizEoF(A));
&nBsp;&nBsp;&nBsp; iF(rEsult==-1)
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; Cout<<"第"< &nBsp;&nBsp;&nBsp; ElsE
&nBsp;&nBsp;&nBsp;&nBsp;&nBsp; Cout<<"不存在下标值等于元素值的元素"< &nBsp; }
【要求】 &nBsp;&nBsp;&nBsp; 1.把上述程序录入到文件myFA.Cpp中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可以不输入。
&nBsp;&nBsp;&nBsp; 2.改错时,可以修改语句中的-部分内容,增加少量的变量说明、函数原型说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句。
&nBsp;&nBsp;&nBsp; 3.改正后的源程序文件myrA.Cpp必须放在t盘根目录下,供阅卷用。
&nBsp;
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项