c语言怎么生成随机数?
定义一个数组,怎么生成100个随机数(范围为1000到2000).在这个数组中怎么随机选取一个作为i?...
定义一个数组,怎么生成100个随机数(范围为1000到2000).
在这个数组中怎么随机选取一个作为i? 展开
在这个数组中怎么随机选取一个作为i? 展开
展开全部
你好!
完整的代码,红圈处就是从上面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;
}
更多追问追答
追问
i=rand()%100;不是生成1个小于100的随机数吗?怎么成了抽取其中的一个数
追答
因为上面的代码,已经将1000-2000的数字放在了a【100】的数组内;
要取出其中一个数字的时候,只需要生成 0 - 99 就能得到想要的数字了!
展开全部
追问
怎么数加入到数组呢?在这个数组中怎么随机选取一个作为i?
追答
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
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\t",a[i-1]);
if(i%6==0)
printf("\n");
}
printf("\n");
printf("将随机抽取一个数\n");
t=rand()%100;
printf("抽取的是第%d个数\n",t+1);
printf("%d\n",a[t]);//不知道是不是这个意思
}
那个取一个作为i我不知道是什么意思!你能上传所有题目信息吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //用到了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;
}
#include <stdlib.h>
#include <time.h> //用到了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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
srand函数 与rand函数配合使用,或者也可以用time函数,去看看srand和rand函数的用法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询