-1

首先,这是我高中的c++课,这是老师所做的,编译和构建时没有结果,什么也没显示

#include<iostream.h>
int main()
{
  int V[50],n,x,f,li,ls,m,i;

  cout<<"number of elements=";
  cin>>n;
  cout<<"x=";
  cin>>x;

  for(i=1;i<=n;i++)
  {
    cout<<"V["<<i<<"]=";
    cin>>V[i];
  }

  f=0;
  li=1;
  ls=n;

  while(li<=ls)&&(f==0);
  {
    m=(li+ls)/2;
    if(V[m]==x)
      f=1;
    else
      if(V[m]<x)
        li=m+1;
      else
        ls=m-1;
  }
  if(f==1)
    cout<<"the number is on position "<<m;
  else
    cout<<"the number is not in the vector";

  return 0;
}

我很抱歉我的英语不好

编辑:我忘了,他给我们的例子是:

V={ 5,5,5,6,7,7,8,8,8,9,10,10,25,25 }

x=10.

4

1 回答 1

0
  1. 标题导入应该是#include <iostream>
  2. 您需要using namespace std在标题之后,或使用std::coutandstd::cin
  3. while表达式应该是while((li<=ls)&&(f==0))- 它必须是一个后面没有分号的表达式。创建while(expr);一个什么都不做的循环 -;算作一个空语句
于 2013-02-23T11:28:42.510 回答