zoukankan      html  css  js  c++  java
  • c++中随机数的产生

    //============================================================================
    // Name        : 随机数.cpp
    // Author      : menglei
    // Version     :
    // Copyright   : Your copyright notice
    // Description : Hello World in C++, Ansi-style
    //============================================================================
    
    #include   <iostream.h>
    #include   <iomanip.h>
    #include   <stdlib.h>
    
    int   main()
    {
    unsigned   seed;
    cout << "enter   seed: ";
    cin>> seed;
    srand  (seed);//播种,给相同的种子会有相同的随机数
    
    for  (int   i=1;i <=20;i++){
    
        cout <<setw(13) <<(1+rand()%6);
    
        if   (i%5==0)
            cout <<endl;
        }
    }
    /**
     1 符号%是取余的意思;
     2 rand()是随机数生成函数;
     3 rand()%a的结果就是0~(a-1),如rand()%10则会随机出现0~9这十个数。
         同理可换成其他数,如取10~19之间的随机数,则可写成10+rand()%10;
    4 rand()的内部实现是用线性同余法做的,他不是真的随机数,
          只不过是因为其周期特别长,所以有一定的范围里可看成是随机的
    ,rand()会返回一随机数值,范围在0至RAND_MAX 间。
      srand()用来设置rand()产生随机数时的随机数种子,一般选用时间作为种子。
     */
    /*
     * iomanip.h
    
      iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样.
      在新版本的c++中头文件已经用iomanip取代了iomanip.h。
      以下是一些常用的函数:
      dec 置基数为10 相当于"%d"
      hex 置基数为16 相当于"%X"
      oct 置基数为8 相当于"%o"
      setfill(c) 设填充字符为c
      setprecision(n) 设显示小数精度为n位
      setw(n) 设域宽为n个字符
      setiosflags(ios::fixed) 固定的浮点显示
      setiosflags(ios::scientific) 指数表示
      setiosflags(ios::left) 左对齐
      setiosflags(ios::right) 右对齐
      setiosflags(ios::skipws 忽略前导空白
      setiosflags(ios::uppercase) 16进制数大写输出
      setiosflags(ios::lowercase) 16进制小写输出
      setiosflags(ios::showpoint) 强制显示小数点
      setiosflags(ios::showpos) 强制显示符号
      示例:
      #include <iomanip.h>
      #include <iostream>
      using namespace std;
      int main()
      { cout<<12345.0<<endl;//12345
      cout<<setiosflags(ios::scientific)<<12345.0<<endl;//1.234500e+004
      cout<<setprecision(3)<<12345.0<<endl;//1.23e+004
      return 0; }
     */
    /*
     * stdlib 头文件即standard library标准库头文件
      stdlib 头文件里包含了C、C++语言的最常用的系统函数
      该文件包含了的C语言标准库函数的定义
      stdlib.h里面定义了五种类型、一些宏和通用工具函数。 类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 具体的内容你自己可以打开编译器的include目录里面的stdlib.h头文件看看。
     * stdlib.h用法
    
      1函数名称: calloc
      函数原型: void * calloc(unsigned n,unsigned size);
      函数功能: 分配n个数据项的内存连续空间,每个数据项的大小为size
      函数返回: 分配内存单元的起始地址,如果不成功,返回0
      2函数名称: free
      函数原型: void free(void* p);
      函数功能: 释放p所指的内存区
      函数返回:
      参数说明: p-被释放的指针
      3函数名称: malloc
      函数原型: void * malloc(unsigned size);
      函数功能: 分配size字节的存储区
      函数返回: 所分配的内存区地址,如果内存不够,返回0
      4函数名称: realloc
      函数原型: void * realloc(void * p,unsigned size);
      函数功能: 将p所指出的已分配内存区的大小改为size,size可以比原来分配的空间大或小
      函数返回: 返回指向该内存区的指针.NULL-分配失败
      5函数名称: rand
      函数原型: int rand(void);
      函数功能: 产生0到32767间的随机整数(0到0x7fff之间)
      函数返回: 随机整数
      6函数名称: abort
      函数原型: void abort(void)
      函数功能: 异常终止一个进程.
      7函数名称: exit
      函数原型: void exit(int state)
      函数功能: 程序中止执行,返回调用过程
      函数返回:
      参数说明: state:0-正常中止,非0-非正常中止
      8函数名称: getenv
      函数原型: char* getenv(const char *name)
      函数功能: 返回一个指向环境变量的指针
      函数返回: 环境变量的定义
      参数说明: name-环境字符串
      9函数名称: putenv
      函数原型: int putenv(const char *name)
      函数功能: 将字符串name增加到DOS环境变量中
      函数返回: 0:操作成功,-1:操作失败
      参数说明: name-环境字符串
      10函数名称: labs
      函数原型: long labs(long num)
      函数功能: 求长整型参数的绝对值
      函数返回: 绝对值
      11函数名称: atof
      函数原型: double atof(char *str)
      函数功能: 将字符串转换成一个双精度数值
      函数返回: 转换后的数值
      参数说明: str-待转换浮点型数的字符串
      12函数名称: atoi
      函数原型: int atoi(char *str)
      函数功能: 将字符串转换成一个整数值
      函数返回: 转换后的数值
      参数说明: str-待转换为整型数的字符串
      13函数名称: atol
      函数原型: long atol(char *str)
      函数功能: 将字符串转换成一个长整数
      函数返回: 转换后的数值
      参数说明: str-待转换为长整型的字符串
      14函数名称: ecvt
      函数原型: char *ecvt(double value,int ndigit,int *dec,int *sign)
      函数功能: 将浮点数转换为字符串
      函数返回: 转换后的字符串指针
      参数说明: value-待转换底浮点数,ndigit-转换后的字符串长度
      15函数名称: fcvt
      函数原型: char *fcvt(double value,int ndigit,int *dec,int *sign)
      函数功能: 将浮点数变成一个字符串
      函数返回: 转换后字符串指针
      参数说明: value-待转换底浮点数,ndigit-转换后底字符串长度
     *
    转载文章请注明出处: http://www.cnblogs.com/menglei/
  • 相关阅读:
    按单生产案例
    【转】linux中执行外部命令提示" error while loading shared libraries"时的解决办法
    【转】WARNING! File system needs to be upgraded. You have version null and I want version 7. Run the '${HBASE_HOME}/bin/hbase migrate' script. 的解决办法
    根据Rowkey从HBase中查询数据
    【转】在一个Job中同时写入多个HBase的table
    sqoop 使用
    给VMware下的Linux扩展磁盘空间(以CentOS6.3为例)
    chrome 版本 29.0.1547.76 m 解决打开新标签页后的恶心页面的问题
    tomcat7+jdk的keytool生成证书 配置https
    如何打包和生成你的Android应用程序
  • 原文地址:https://www.cnblogs.com/menglei/p/2516095.html
Copyright © 2011-2022 走看看