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

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. Android(java)学习笔记75:匿名内部类的方式实现多线程程序

    二话不说,首先利用代码体现出来,给大家直观的感觉: package cn.itcast_11; /* 4 * 匿名内部类的格式: 5 * new 类名或者接口名() { 6 * 重写方法; 7 * } ...

  2. Android(java)学习笔记91:泛型接口的概述和使用

    package cn.itcast_06; /* * 泛型接口:把泛型定义在接口上 */ public interface Inter<T> { public abstract void ...

  3. linux 主机免验证登录

    1.ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub 2.scp -p port  ~/.ssh/id ...

  4. Vim编辑器的常用快捷键.

    Linux中的文本操作离不开Vim编辑器的使用. Vim编辑器的使用相对门槛较高.需要挺长一段时间的适应. 总结一些Vim使用过程中常用的命令(这些命令基本上都是在vim的命令模式下使用) 1.跳转到 ...

  5. 轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)

    由于Ionic更新了命令行工具,以后修改应用图标和添加启动画面就简单了,最新方法见最下方:   应用图标:   1.在整个项目所在文件夹下创建res文件夹,里边再分别创建两个文件夹android和io ...

  6. MySQL数据库的存储结构

    --把若干条sql语句封装起来,起个名字,叫做过程,也是没有返回值的函数 --把这个过程存储在数据库中->存储过程 --存储过程的创建过程 create procedure proceduceN ...

  7. 【转载】apache kafka系列之-监控指标

    原文地址:http://blog.csdn.net/lizhitao/article/details/24581907 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提 ...

  8. C# 利用ffmpeg 对视频转换系类操作 (1) 基本分析

    最近公司做一个项目,开发一个视频站点.项目需求中有很多视频转换的需求,如:格式转换(flv,Mp4),视频水印,视频截图,视频合成,获取视频的基本信息(时间戳,视频大小等).经过网络的收集资料以及自己 ...

  9. 最新app源码下载:200款优秀Android项目源码

    200款优秀Android项目源码!菜鸟必备!Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他 ...

  10. Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长

    get请求方式中,传递的参数的值不能太多.是有长度限制的. http://test.jz.gaitu.cn:80/appMana/TemplateImgOutput.aspx?TemplateID=1 ...