用c语言怎么写随机数

1.C语言如何编程产生随机数楼主你好!
很高兴回答你的问题!
#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int num;
srand((unsigned)time(NULL));
num = rand()%100+1;
printf("%d\n",num);
return 0;
}
上面的是参数一个1到100之间的随机数的例子!主要用到rand()函数,它能够随机参数一个0到unsigned int的最大值之间的一个随机数,我们可以通过%控制随机数参数的范围!在使用rand()需要调用srand()种子器,不然你每次得到都是同一个数!具体用法可以去网上查查!
希望我的回答对你有帮助!
望采纳!谢谢!
2.C语言中怎样生成随机数在VC中设计到随机数有两个函数srand() and rand()srand() 的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数注意1:srand() 里的值必须是动态变化的,否则得到的随机数就是一个固定数2:其实可以不用写srand() ,只用rand()就可以了,省事,简单,例子如下如果我们想得到一个 0-60的随机数那么可以写成int i;i=rand()%60;就可以了 。
当然最好有个统一的标注如下:int i;srand((unsigned)time( NULL ));i=rand()%60;这样就OK了 。
3.c语言怎么生成随机数你好!
完整的代码,红圈处就是从上面100个数字中抽取到的数字:
#include <stdio.h>
#include<stdlib.h>; //生成随机数用
#include<time.h>; //利用时间生成种子
#include<math.h>
int main()
{
int i;
int a[100];
srand( time(NULL) ); //生成种子
for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000; //生成一个小于1000的随机数
//然后加1000,变成 1000 - 2000之间的数
printf("%d ",a[i]); //打印
}
i=rand()%100; //随机抽取其中的一个数
printf("\n抽取到的是:%d\n",a[i]);//打印
return 0;
}
4.C语言抽取随机数怎么编写C语言中有自己的随机数函数rand()
其原型为
int rand();
功能为获取一个随机整型数 。
所在头文件为stdlib.h
抽取10个随机数并输出的程序可以写成
#include<stdio.h>
#include <stdlib.h>
int main()
{
int i;
for(i = 0; i < 10; i ++)
printf("%d\n", rand());
return 0;
}
在应用中,需要的随机数往往是一个范围,比如要随机生成一组合法的整型分数的时候,实际上是需要生成一组[0,100]的随机整数 。要达到这样的目的,可以通过取余运算(模除运算)来实现 。
对于a%b的值,其结果范围在[0,b-1]之间 。依照这个原理,如果要得到范围在[a,b]的随机整数,可以先求得[0,b-a]范围的随机数,再在结果上加a即可 。
也就是
rand()%(b-a+1) + a
于是在之前代码的基础上,抽取10个值在[0,100]范围内的随机数程序可以写成
#include<stdio.h>
#include <stdlib.h>
int main()
{
int i;
for(i = 0; i < 10; i ++)
printf("%d\n", rand()%101);//这里增加了模除运算,由于最小值就是0,所以不需要加法了 。
return 0;
}
值得注意的一点是,C语言提供的rand函数是伪随机数,如果不做其它处理,那么每次运行程序获取到的随机数序列是固定的 。为了解决这个问题,C语言还定义了srand这个库函数,用来设定一个随机数种子,从而得到一个不确定的随机初始值 。
srand要求有一个int型的参数,这个参数比较常见的做法是用time(NULL)来获取当前微秒数来充当 。
于是一个完整的设定随机数种子的操作为
srand(time(NULL));