爱嘉牛LA

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
View Code
#include <iostream> 
#include <stdlib.h> 
#include <time.h> 
using namespace std; 
int main() 
{       int a=2,b=9;
        srand((unsigned)time(NULL)); 
        for(int i=0; i<10;i++ ) 
                cout<<rand()%(b-a)+a<<endl; 
        cout << endl; 
        return 0; 
}

 

<一>生成[a,b)的随机整数,使用rand()%(b-a)+a;

<二>生成[a,b]的随机整数,使用rand()%(b-a+1)+a;

<三>生成(a,b]的随机整数,使用rand()%(b-a)+a+1;

通用公式:a+rand()%n;其中的a是起初值,n是整数的范围

要取得a到b之间的随机整数,另一种表示:a+(int)b*rand()/(RAND_MAX+1)

要取得0~1之间的浮点数,可以使用rand()/double(RANG_MAX)

posted on 2012-04-26 19:33  爱嘉牛LA  阅读(575)  评论(0编辑  收藏  举报