C语言中随意生成20个数字用什么函数啊
发布网友
发布时间:2023-06-10 05:33
我来回答
共2个回答
热心网友
时间:2024-11-14 00:32
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
/*产生一个start~end区间中的随机数,然后返回该随机值*/
int proce_rand(int start, int end);
int main(void)
{
int num = 0;
int i = 0;
//for test
for(i=0; i<20; i++)
{
num = proce_rand(100,200);
/*注意这里的休眠是必要的,因为是用time(NULL)作为种子,如果直接运行,那么很有可能产生的多个一样的随机数*/
sleep(1);
printf("%d\n",num);
}
return 0;
}
int proce_rand(int start, int end)
{
int rand_num;
int start_t;
int end_t;
//确定参数范围,确保start_t<=end
(start<=end)?(start_t=start,end_t=end):(start_t=end,end_t=start);
//time(NULL)为随机种子,播种子
srand((unsigned)time(NULL));
//产生随机数
rand_num =rand()%(end_t-start_t+1)+start_t;
return rand_num;
}
热心网友
时间:2024-11-14 00:33
用 rand()
#include <stdlib.h>
#include <time.h>
main()
{
int i,j,n=20;
int x[20];
srand((unsigned)time(NULL)); // 种子
for (i=0;i<n;i++) x[i] = rand() % 1000;
for(i=0;i<n;i++) printf("%d\n",x[i]);
return 0;
}