(使用c和c++,或vc)
设计一个自然数数组,包含50个范围在(0,200)的自然数,并从小到大排列,随机产生一个范围在(0,200)自然数,在数组中用二分查找,如果存在返回真,并获取这个数在数组中的位置(第几个);如果不存在返回假;
   要求:
1. 编码初始化数组,并提供借口显示数组序号和内容
2. 对数组排序,并提供接口显示数据需要的内容
3. 随机产生自然数
4. 用二分法查找随机数。如果那位朋友帮忙写出来了,请把原始代码发往[email protected]或在论坛上留下您的意见,谢谢!

解决方案 »

  1.   

    用STL,生成50个随即数,然后排序
    查找的时候用std::lower_bound
      

  2.   

    随机生成你用srand和rand
    /* RAND.C: This program seeds the random-number generator
    * with the time, then displays 10 random integers.
     */#include <stdlib.h>
    #include <stdio.h>
    #include <time.h>void main( void )
    {
    int i;
    /* Seed the random-number generator with current time so that
    ·  the numbers will be different every time we run.
        */
    srand( (unsigned)time( NULL ) );
    /* Display 10 numbers. */
    for( i = 0;   i < 10;i++ )
    printf( “  %6d\n”, rand() );
    }排序什么的你就用stl把,stl里的集合会自动排序的
      

  3.   

    谢谢你!
    这个题目对我来说很重要,你可以把这整个问题完成的用代码表示出来吗?
    可以把代码发送到:[email protected]
    非常感谢!