试题来源:2014年计算机二级C++上机考试试题及答案
【分析解答题】
改错题(20分) else cout<<"不存在下标值等于元素值的元素"< } 1.把上述程序录入到文件myfa.cpp中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可以不输入。 2.改错时,可以修改语句中的-部分内容,增加少量的变量说明、函数原型说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句。 3.改正后的源程序文件myra.cpp必须放在T盘根目录下,供阅卷用。
【题目】
以下程序的功能是:判断一个已排序的整型数组中是否存在元素值与其下标值相等(下标从0开始)的元素。如果存在,则输出其中一个该类元素的值(可能存在多个满足条件的元素)
正确程序的输出如下:
第3个元素值与其下标值相等
含有错误的源程序如下:
#include
int index_search(int x[n],int n)
{
int first=0;
int last=n-1;
int middle,index;
index=-1;
while(first<=last){
middle=(first+last)/2;
if(x[middle]=middle){
index=middle;
break;
}
else if(x[middle]>middle)
last=middle-1;
else
first=middle+1;
}
return index;
}
void main()
{
int a[]={-1,0,1,3,8};
int result=index_search(a,sizeof(a));
if(result==-1)
cout<<"第"<
考友解析与评论:
· 答案是什么啊,这题比较模糊
· 这题错在哪里?
· 这个答案靠谱吗?
发布评论 查看全部评论