//============================================================================
// 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-转换后底字符串长度
 *
posted on 2012-05-24 10:05  _兜  阅读(2329)  评论(0编辑  收藏  举报