码迷,mamicode.com
首页 > 编程语言 > 详细

C语言产生随机数(伪)

时间:2018-11-08 20:46:40      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:namespace   using   范围   nbsp   生成   ++   std   ++i   ios   

C语言的获取随机数的函数为rand(), 可以获得一个非负整数的随机数。要调用rand需要引用头文件stdlib.h
要让随机数限定在一个范围,可以采用模除加加法的方式。
要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理为,对于任意数,
0 <= rand()%(n-m+1) <= n-m

(即rand()%(n-m+1)生成的随机数是在0到n-m之间的)

于是
0+m <= rand()%(n-m+1)+m <= n-m+m

(于是给这个随机数加上m就可以得到m到n-m之间的随机数)


m<=rand()%(n-m+1)+m<=n

示例代码

#include<iostream>
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
using namespace std;
void main()   //生成7个在77-100之间的随机数
{
 int random, i;
 srand(time(NULL));
 for(i=0; i<7; ++i)
 {
  random = rand() % 34 + 77;
  cout<<random<<" ";
 }
}

C语言产生随机数(伪)

标签:namespace   using   范围   nbsp   生成   ++   std   ++i   ios   

原文地址:https://www.cnblogs.com/area-h-p/p/9931666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!