详解C语言中rand函数的使用

前言

我们在编程实现算法的过程中,往往需要使用到随机数。由于计算机是一台以逻辑为基础的机器,没法做到真正的随机(大概量子计算机可以?)。所以计算机生成的是伪随机数,供我们使用。

我们使用C语言的rand函数,生成的也是伪随机数。

c语言之rand函数的使用

1、写入头文件

#include <stdlib.h> #include <stdio.h> #include <time.h>

2、变量的定义

void main( void ) { int i,k;

3、srand( (unsigned)time( NULL ) ); /*选取种子文件*/

4、for( i = 0; i <20;i++ ) /*循环控制20个随机数的生成*/ { k=rand()%100; /*储存随机数*/ printf( ” k=%d\n”, k ); /*输出随机数*/ } }

1、此为随机函数的一种产生方法

2、如果只需一个,那么可以省略循环控制

一个简单的示范如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int
main(int argc, char** argv)
{
  // 以机器当前的时间来构造生成伪随机数的"种子" 。
  srand((unsigned int)time(NULL));
  int i;
  // 打印10个伪随机数
  for (i = 0; i < 10; i++) {

    printf("%d ", rand());
  }
  printf("\n");

  system("pause");
  return 0;
}

总结

以上就是关于C语言中rand函数的使用的全部内容,希望本文对大家日常使用C语言的时候能有所帮助。

(0)

相关推荐

  • 如何产生真正的随机函数?

    //MSDN  Randomize 为了生成某个范围内的随机整数,可使用以下公式:Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 这里,upperbound 是随机数范围的上限,而 lowerbound 则是随机数范围的下限. ---- 在VB中的随机函数是Rnd,但在使用的过程中发现,虽然程序启动后产生的数值是随机的,但对于每次重新启动,程序都会产生相同的随机数序列,应该怎样解决? ----VB中随机函数的原形是: Rnd(numbe

  • python中随机函数random用法实例

    本文实例讲述了python中随机函数random用法.分享给大家供大家参考.具体如下: python中的random模块功能非常强大,可以生成各种随机值 #! python # random import random print random.choice(['apple', 'pear', 'banana']) #从数组中随机选择一个元素 print random.sample(xrange(100), 10) # sampling without replacement print ran

  • Oracle随机函数之dbms_random使用详解

    dbms_random是oracle提供的一个随机函数包,以下介绍一些dbms_random的常用示例: dbms_random.value用法: 生成一个大于等于0,小于等于1的38位小数 复制代码 代码如下: -- FUNCTION value RETURN NUMBER; select dbms_random.value from dual; SQL> select dbms_random.value from dual; VALUE ---------- 0.61011338 复制代码

  • 如何利用当前时间生成随机函数?

    quote.asp <%Set MyFileObj = Server.CreateObject("Scripting.FileSystemObject")Set MyTextFile = MyFileObj.OpenTextFile("c:\quote.txt") ' 设置好路径.IF NOT MyTextFile.AtEndOfStream THENheader = CInt(MyTextFile.ReadLine) ' 读表头. END IFRANDOMI

  • php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍

    shuffle()定义和用法 shuffle() 函数把数组中的元素按随机顺序重新排列. 若成功,则返回 TRUE,否则返回 FALSE. 注释:本函数为数组中的单元赋予新的键名.这将删除原有的键名而不仅是重新排序. 注释:自 PHP 4.2.0 起,不再需要用 srand() 或 mt_srand() 函数给随机数发生器播种,现已被自动完成. 语法 shuffle(array) 参数 描述 array 必需.规定要使用的数组. 例子 复制代码 代码如下: <?php $my_array = a

  • perl写的一个随机编故事的程序(rand随机函数)

    复制代码 代码如下: #!/bin/perluse strict;  use warnings; #定义变量  my $count;  my $input;  my $number;  my $sentence;  my $story; #定义四个数组  #定义了人物数组  my @nouns=  (     'Dad',     'TV',     'Mom',     'Groucho',     'Rebecca',     'Harpo',     'Robin Hood',     '

  • php中随机函数mt_rand()与rand()性能对比分析

    本文实例对比分析了php中随机函数mt_rand()与rand()性能问题.分享给大家供大家参考.具体分析如下: 在php中mt_rand()和rand()函数都是可以随机生成一个纯数字的,他们都是需要我们设置好种子数据然后生成,那么mt_rand()和rand()那个性能会好一些呢,下面我们带着疑问来测试一下. 例子1. mt_rand() 范例,代码如下: 复制代码 代码如下: <?php echo mt_rand() . "n"; echo mt_rand() . &quo

  • sql server中随机函数NewID()和Rand()

    在SQL Server中,随机函数有rand(),NewID(),其中rand是在0到1内随机取数,NewID则是生成随机的uniqueidentifier唯一标识符. SELECT * FROM Northwind..Orders ORDER BY NEWID() --随机排序 SELECT TOP 10 * FROM Northwind..Orders ORDER BY NEWID() --从Orders表中随机取出10条记录 示例 A.对变量使用 NEWID 函数 以下示例使用 NEWID

  • 详解C语言中rand函数的使用

    前言 我们在编程实现算法的过程中,往往需要使用到随机数.由于计算机是一台以逻辑为基础的机器,没法做到真正的随机(大概量子计算机可以?).所以计算机生成的是伪随机数,供我们使用. 我们使用C语言的rand函数,生成的也是伪随机数. c语言之rand函数的使用 1.写入头文件 #include <stdlib.h> #include <stdio.h> #include <time.h> 2.变量的定义 void main( void ) { int i,k; 3.sran

  • 详解Go语言中rand(随机数)包的使用

    目录 包"math/rand" 随机数种子 随机函数 rand.Int() rand.Intn(n) 实例 其他随机函数 按类型随机类 指定随机范围类 伪随机排列的切片 生成标准正态分布 生成标准指数分布 包"math/rand" 随机数生成器,可以生成 整型或浮点型 的伪随机数. 随机数种子 不同的种子生成不同的随机数,无种子编译后运行的结果是定值. 通常以时钟作为参数初始化,rand.Seed(time.Now().UnixNano()). 随机函数 rand.

  • 详解C语言中scanf函数使用的一些注意点

     (一)基本介绍 Scanf是系统自带的函数,声明包含在stdio.h文件中,因此要是有该函数,必须加载#include<stdio.h>头文件.当执行到scanf函数时,程序就暂停等待用户输入,该函数只接受变量的地址,格式为&变量名.是一个阻塞式的函数,2用户输入完毕后,则将值赋值给变量,至此函数调用完毕.敲回车键告知计算机键入完毕. (二)使用注意 ①. 使用scanf函数输入一个字符变量.Char a; scanf("%c",&a); ②. 同时输入多

  • 详解C语言中symlink()函数和readlink()函数的使用

    C语言symlink()函数:建立文件符号连接 头文件: #include <unistd.h> 定义函数: int symlink(const char * oldpath, const char * newpath); 函数说明:symlink()以参数newpath 指定的名称来建立一个新的连接(符号连接)到参数oldpath 所指定的已存在文件. 参数oldpath 指定的文件不一定要存在, 如果参数newpath 指定的名称为一已存在的文件则不会建立连接. 返回值:成功则返回0, 失

  • 详解C语言中getgid()函数和getegid()函数的区别

    C语言getgid()函数:取得组识别码函数 头文件: #include <unistd.h> #include <sys/types.h> 定义函数: gid_t getgid(void); 函数说明:getgid()用来取得执行目前进程的组识别码. 返回值:返回组识别码 范例 #include <unistd.h> #include <sys/types.h> main() { printf("gid is %d\n", getgid

  • 详解C语言中freopen()函数和fclose()函数的用法

    C语言freopen()函数:打开文件函数,并获得文件句柄 头文件: #include <stdio.h> 定义函数: FILE * freopen(const char * path, const char * mode, FILE * stream); 函数说明: 参数 path 字符串包含欲打开的文件路径及文件名. 参数mode 请参考fopen()说明.. 参数stream 为已打开的文件指针. Freopen()会将原stream 所打开的文件流关闭, 然后打开参数path 的文件.

  • 详解C语言中strpbrk()函数的用法

    头文件: #include <include.h> strpbrk()函数检索两个字符串中首个相同字符的位置,其原型为: char *strpbrk( char *s1, char *s2); [参数说明]s1.s2要检索的两个字符串. strpbrk()从s1的第一个字符向后检索,直到'\0',如果当前字符存在于s2中,那么返回当前字符的地址,并停止检索. [返回值]如果s1.s2含有相同的字符,那么返回指向s1中第一个相同字符的指针,否则返回NULL. 注意:strpbrk()不会对结束符

  • 详解C语言中index()函数和rindex()函数的用法

    C语言index()函数:查找字符串并返回首次出现的位置 相关函数:rindex, srechr, strrchr 头文件:#include <string.h> 定义函数: char * index(const char *s, int c); 函数说明:index()用来找出参数s 字符串中第一个出现的参数c 地址,然后将该字符出现的地址返回.字符串结束字符(NULL)也视为字符串一部分. 返回值:如果找到指定的字符则返回该字符所在地址,否则返回0. 范例 #include <str

  • 详解C语言中fseek函数和ftell函数的使用方法

    fseek函数: int fseek(FILE * _File, long _Offset, int _Origin); 函数设置文件指针stream的位置.如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0.如果执行失败则不改变stream指向的位置,函数返回一个非0值. 超出文件末尾位置,还是返回0.往回偏移超出首位置,还是返回0,小心使用. 第一个参数stream为文件指针. 第二个参数offset为偏移量,正数表示正向偏移,

  • 详解C语言中telldir()函数和seekdir()函数的用法

    C语言telldir()函数:取得目录流的读取位置 头文件: #include <dirent.h> 定义函数: off_t telldir(DIR *dir); 函数说明:telldir()返回参数dir 目录流目前的读取位置. 此返回值代表距离目录文件开头的偏移量返回值返回下个读取位置, 有错误发生时返回-1. 错误代码:EBADF 参数dir 为无效的目录流. 范例 #include <sys/types.h> #include <dirent.h> #inclu

随机推荐