写得我自己都看不好了:大家都比较喜欢吃快餐,只需要尽快告诉读者怎么用起来就行了。不想听啰啰嗦嗦说一堆,然后例程还特别麻烦

so:

 1、基本

int seed = time(0);//#include <ctime>

srand(seed);

int myRandom = rand();

//就这三行就得到了一个 随机数,其他的 都不属于随机数的范畴,举个随机数的例子还要看数组,这说明这个 笔记做的是在不咋好。

2、然后是生成指定范围的数字:

如何生成一个随机数i,使得0<=i<20?

如何生成一个随机数i,使得 10<=i<20?

如何生成一个随机数i,使得 10<=i<=50?

int seed = time(0);

srand(seed);

int i1 = rand()%20;

int i2 = rand()%10+10;

int i3 = rand()%10+40;

3、解释原因

这个有点儿坑,每次结果都是一样的,说好的随机根本不随机。其实 随机数本身也是通过计算得到的,每一次都是通过随机数种子计算得到的。如果随机数种子不同那么计算出来的随机数就不同,而产生随机数种子的函数同样在 stdlib.h 里面,函数是:srand().

【此部分代码在function1()里面】

我们需要给随机数种子每次以不同的值,然后就能得到不同的随机数了,但是还有一个弊端。种子怎么才能得到不同的值。那我们知道时间每时每刻都不相同,所以如果能用时间给到随机数种子里面,那么每次得到的结果必然是不相同的。

得到

这个结果就比较好了。

下面源代码。

#include <iostream>
#include <stdlib.h>
#include <time.h>
/**
rand() 来自 stdlib.h 文件
*/
void function1(void);
void function2(void);
//int[] makeArray(int array[]);//怎么返回int类型的数组?
void display(int array[]);
int main() {
function1();
function2();
return ;
}
void function2(void){
int array[];
int randomseed = (int) time(NULL);//包含在time.h里面
//返回当前时间,是time类型需要强制类型转换成int类型。
srand(randomseed);
for(int i=;i<;i++){
array[i]=rand();
}
display(array);
}
void function1(void){
//我们利用 rand() 来产生随机数:
int array[];
for(int i=;i<;i++){
array[i]=rand();
}
display(array);
} void display(int array[]){
for(int i=;i<;i++){
printf("array[i]=%d ",array[i]);
if((i+)%==){
printf("\n");
}
}
}

c语言随机数的更多相关文章

  1. 【C】漫谈C语言随机数

    来说说C语言如何产生随机数. 有人会说这不简单?time() + srand() + rand() 3个函数不就OK了吗? 是的,不过,我们还是来看看原理比较好,也就是随机数是如何产生的. 这不无聊. ...

  2. C语言-随机数

    C语言使用rand()函数产生随机数, 使用rand()函数之前要先使用srand(time(0)), 以当前时间作为种子, 否则产生的随机数将不会变化. #include <stdio.h&g ...

  3. 洗牌算法Fisher-Yates以及C语言随机数的产生

    前些天在蘑菇街的面试中碰到一道洗牌的算法题,拿出来和大家分享一下! 原题是:54张有序的牌,如何无序的发给3个人? 这个题是运用经典的洗牌算法完成.首先介绍一种经典的洗牌算法--Fisher-Yate ...

  4. D语言-随机数游戏

    由于不会D语言的随机数,干脆core.stdc.stdlib调用stdlib.h 这里mark一下,类型转换是cast(D语言类型) NULL不能用,要用null import std.stdio; ...

  5. 抽签小程序(C语言随机数)

    最近班级里需要人员抽签参加活动,闲来无事用java的(Math.random()方法||java.util.Random())写了一个随机抽签的,所以我又了解了一下C语言的随机数获取. C语言的随机数 ...

  6. (转)c语言随机数srandom( )

    转自:http://zhidao.baidu.com/question/334364810.html调用随机数函数 rand()() 的时候, 实际得到的这个随机数并不是绝对随机的,它是以一个初始值, ...

  7. C语言随机数使用方法

    随机数在编程中还是有所应用,最近从网上学习到这方面一点知识,想把它写下来.一.使用随机数所需要的头文件和函数:        头文件:cstdlib(C++ 的 standard libraray)  ...

  8. c 语言 随机数选取6个数 一定范围内

    种子来源 定时器/****************** 自动筛选种子 dat 目标种子 ************/ #define max 7 //随机生成最大的数为7 #define min 1 / ...

  9. Go 语言控制台输入&生成随机数

    Go 语言控制台输入&生成随机数 1. 不同基础类型之间的转化对于不同的基础类型之间的转化,Go 提供了 strconv包.它实现了字符串与其他基本数据类型之间的转化.其中最常用的数值转化函数 ...

随机推荐

  1. iOS-实现验证码倒计时功能(1)

    验证码倒计时按钮的应用是非常普遍的,该Blog就和你一起来写一个IDCountDownButton来实现验证码倒计时的效果.你可以想使用普通的UIButton类型按钮一样,只需要设置其倒计时时长(若未 ...

  2. DHCP服务详解

    DHCP概念和原理 dhcp服务作用 为大量客户机自动分配地址,提供集中管理 减轻管理和维护成本,提高网络配置效率 可分配的地址信息主要包括: 网卡的IP地址.子网掩码 对应的网络地址 默认网关地址 ...

  3. 解析$.grep()源码及透过$.grep()看(两次取反)!!的作用

    先上jquery源码: grep: function( elems, callback, inv ) { var retVal, ret = [], i = 0, length = elems.len ...

  4. 【Stirling Number I】

    hdu 4372 Count the Buildings 推荐这位小哥的,我觉得人家说的灰常的好. 注意数据范围,n,f,b均在(0,2000]范围内,而第一斯特林数的数组范围却是s[2000+5][ ...

  5. jquery jsonp实现跨域

    html代码: $("#testJsonp").click(function(){ $.ajax({ url: "http://www.test.cc/1.php&quo ...

  6. 《跨终端Web》读书笔记

    跨终端的Web成为了趋势,而这本书就是讲了在这种趋势下进行开发的常见问题及其解决方案,可能是限于篇幅,每个方面都没有展开细说,但这是这样让本书干货满满,几乎没有一句废话. 下面是一些笔记. Web的本 ...

  7. 关于微信response_type参数错误

    可能出现问题的几个原因: 1.正确的2.0auth的地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=1%&redire ...

  8. SSIS_TXT有规则资料导入到EXCEL

    SSIS开发需要完全安装sqlserver.本次demo是sqlserver2008. 1.创建项目 2.解决方案打开如图所示. 3.拉取一个序列容器,一个数据流任务. 4.在数据流任务点击.拉取一个 ...

  9. %r与%s的区别

    %r用rper()方法处理对象 %s用str()方法处理对象 有些情况下,两者处理的结果是一样的,比如说处理int型对象. 例一: print "I am %d years old.&quo ...

  10. COM 参数有in, out ,retval

    COM 参数有in, out ,retval 来源:http://blog.sina.com.cn/s/blog_472a9f0c01017uer.html In 输入参数,它的值不被返回    Ou ...