中易网

c语言怎么生成随机数?

答案:5  悬赏:50  
解决时间 2021-01-11 17:34
c语言怎么生成随机数?
最佳答案
函数rand(),每次运行都会产生随机数。
原理:利用物理不稳电路,电路会根据当前周边电磁场信号,随机产生无线电接收信号,然后转换成数字,因为电场的不稳定性,所以每次产生的数字都会不同,绝对不可能连续生成一样的数字;
简单使用:A、慨然软件的工具或开发环境中使用这个函数;B、Excel表格中,在各自中使用这个函数,每次都能产生不同的数字;
常规使用场合:A、随机数抽奖程序;B、大数据测试;C、游戏中的骰子产生随机数。
全部回答
 #include  
 #include 
 #include  
   void main() 
   { 
 srand((unsigned)time( NULL ) ); //时间种子有这个可以让每次运行程序产生的随机数不同
     for(int i=1;i<=100;i++) 
     { 
     printf("%d ",rand()%1000+1000); //rand()函数产生的随机数的范围是-65535~65535
 if(i%8==0)
 printf(" ");
     } 
    }
 

如果对答案满意的话就麻烦把我的答案选为满意答案追问怎么数加入到数组呢?在这个数组中怎么随机选取一个作为i?追答 #include  
 #include 
 #include  
   void main() 
   { 
   int a[100],t;
   srand((unsigned)time( NULL ) ); 
     for(int i=1;i<=100;i++) 
     { 
     a[i-1]=rand()%1000+1000;//这样就可以了
 printf("%d ",a[i-1]);
 if(i%6==0)
 printf(" ");
     } 
 printf(" ");
 printf("将随机抽取一个数 ");
 t=rand()%100;
 printf("抽取的是第%d个数 ",t+1);
 printf("%d ",a[t]);//不知道是不是这个意思
    }

那个取一个作为i我不知道是什么意思!你能上传所有题目信息吗?
srand函数 与rand函数配合使用,或者也可以用time函数,去看看srand和rand函数的用法

你好!

完整的代码,红圈处就是从上面100个数字中抽取到的数字:
#include 
#include                  //生成随机数用 
#include                    //利用时间生成种子 
#include                    
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(" 抽取到的是:%d ",a[i]);//打印 
      
      return 0; 
}追问i=rand()%100;不是生成1个小于100的随机数吗?怎么成了抽取其中的一个数追答因为上面的代码,已经将1000-2000的数字放在了a【100】的数组内;
要取出其中一个数字的时候,只需要生成 0 - 99 就能得到想要的数字了!追问怎么是从a[100]中取的呢?没有可能重新生成新的吗追答
你的要求不是:在这个数组中怎么随机选取一个作为i?这样提的吗
你的意思是将这个取得的值,赋给 i  ??#include 
#include                  //生成随机数用 
#include                    //利用时间生成种子 
#include                    
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;              //随机抽取其中的一个数 
       i= a[i];                   // 这里把抽取的值赋给了 i  
       
   printf(" 抽取到的是:%d ", i );//打印 i
      return 0; 
}
#include
#include
#include //用到了time函数
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<50; i++)
{
number = rand() % 101; //产生0-100的随机数
printf("%d ", number);
}
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我想去滑冰。翻译两种方式。
求最终幻想雷霆3D同人视频这两张图片的只要雷
秦时的萧关在今天的哪里?
有知道这个袋子提手怎样叫法吗
为什么说ug曲面功能强大
node.js 在wind开发行吗
请问松下DMC-FP8GK 这款相机原装德电池报价?
在哪里去看自己复制,粘贴过的内容
木板也可以做烤瓷门吗?
闭目而憩,静心而息,品茶品人品世俗;浮生之
广州的光博士在哪啊?听说是叫尚美~
姓胡的在八月出生的起什么名字好听2015
冲泡绿茶要注意什么
锅炉停用多久需要试运行
年年相伴岁岁相拥是什么意思
推荐资讯
有气都可以去撒,我有气找谁撒
本例用switch(),括号中的值有什么要求么
写好的0什么变成别的数字1.2.3.4.
入室偷盗七克黄金判多少年
割手腕死。的快还是割静脉
简述城轨列车,地铁,轻轨,各自优缺点
:怎样在安信证券盘面上设置自己想要的图标布
听朋友说奉贤格思教育环境还蛮好的
这串紫檀怎么样?求大师解答
天天旺纱艺地址在什么地方,想过去办事
对联赏析1.两表酬三顾一对足千秋2.把笔又
水光仙子工作室地址在什么地方,我要处理点事
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?