C++编程错误寻找

2024-11-23 13:10:32
推荐回答(1个)
回答1:

#include 
using namespace std;
template 
class Lei
{
private:
Sample *x;
int n;
public:
Lei (Sample *a,int b)
{
x=a;
n=b;
}
void Chazhao(Sample key)
{
bool isFind=false;
int low=0,mid,high=n-1;
for (;high>=low;)// 括号用了中文字符
{
mid=(low+high)/2;
if (key==x[mid])
{
cout<<"该数是数组中第"<<1+mid<<"个元素的值"< isFind=true;//写错了,是isFind
break;
}
else if (key high=mid-1;
else
low=mid+1;
}
if(!isFind)
cout<<"无此数"< }
};
int main()//Main不要定义为void,一般为int
{
int a[]={1,2,3,4,5,6,7};
Leit1(a,7);
t1.Chazhao(6);
return 0;//记得程序结束,返回0,0的意思是正常执行完毕
}

 代码已经修改,错误地方如注释说明。

运行结果如下。