c语言不同随机数
❶ 用c语言怎样产生10个不同的随机数
方法和详细的操作步骤如下:
1、第一步,打开C语言编译器并创建一个新的初始.cpp文件,例如“test.cpp”,见下图,转到下面的步骤。
❷ c语言 产生一个随机数,如何让它每一次运行出现不同的随机数结果
#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain(void)
{
srand((unsigned)time(NULL));
inta;
a=rand()%10;
printf("%d ",a);
}
加一句srand((unsigned)time(NULL)); 打开随机触发器 与时钟频率同步
这样每次随机的数就不同 不过需要包含头文件#include "time.h"
❸ C语言:产生数个不同的随机数
一楼的感觉第二个数的产生过于麻烦
二楼的不能用int型,因为楼主的要求是1000000内,可能就是999999,int不够用
#include
#include
#include
#define
rand_max
1000000
void
main()
{
long
num1,num2;
time_t
t;
srand((unsigned)
time(&t));/*用时间初始化随机函数*/
int
t;
scanf("%d",&t);
for(int
i=0;i<2*t;i++)
{
num1=rand()%1000000;//产生1000000内的第一个随机数
num2=rand()%num1;//产生num1内的第二个随机数
printf("%ld\t%ld\n",num1,num2);
}
getchar();
getchar();
}
❹ C语言如何产生一定范围内一定数量的不同随机数
源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#define a 16807//or 48271
#define m 2147483647
#define q (m/a)
#define r (m%a)
static long int seed = 1;
//return rand long in [1,m]
long int pm_rand(void)
{
long hi = seed / q;
long lo = seed % q;
long tmp = a * lo - r * hi;
if(tmp > 0)
seed = tmp;
else
seed = tmp + m;
return seed;
}
int main(void)
{
for(int i = 0;i < 100;++i)
printf("%ld ",pm_rand());
puts("");
return 0;
}
(4)c语言不同随机数扩展阅读
不指定范围产生随机数的源代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d
", rand());
}
return 0;
}
❺ c语言怎样同时产生几组不同的随机数
简单一点的,r,t分别产生两组随机数,你往后加参数即可:
#include<stdlib.h>
#include<stdio.h>
int main(void){
int r=srandom((int)time(0));;
int t=srandom((int)time(0));;
printf("%d %d\n",r,t);
return 0;
}
❻ C语言如何产生不重复的随机数
用一个数组装随机数,一个数组表示已经记录过的随机数;
比如说随机0-8,生成一个随机8位数组且数组内各项不重复;
例:
intarray[8];
intarrayIndex[8]={0,0,0,0,0,0,0,0};
intk=0;
srand(100);
while(k<8){
intq=rand()%8+1;
if(arrayIndex[q-1]==1){
continue;
}
array[k]=q;
arrayIndex[q-1]=1;
k++;
}
(6)c语言不同随机数扩展阅读
C语言随机输出1~20不重复的随机数
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
voidmain()
{
inta[20];
inti,j;
srand((int)time(0));
a[0]=rand()%20+1;
for(i=1;i<20;i++)
{
a[i]=rand()%20+1;
for(j=0;j<i;j++)
{
if(a[i]==a[j])
{
i--;
}
}
}
for(i=0;i<20;i++)
{
printf("%3dn",a[i]);
}
}
❼ 怎样用c语言产生不同的随机数
先设置种子数srand((unsigned
int)time(0)).然后用rand()%100就可以产生0-100的不同随机数了,当然要包括头文件stdlib.h和time.h.
❽ c语言怎么产生两个不同的随机数
把第二个sand(time(NULL))去掉
❾ C语言,求能够产生不同的一组随机数的程序。
#include <fcntl.h>
#include <semaphore.h>
#include <pthread.h>
#include <sys/stat.h>#define LENTH 8typedef int T;typedef struct cycle
{
T data[LENTH];
int head;
int tail;
sem_t *mutex;
sem_t *db;
int reader;
} circular;int init_queue(circular *queue);
int is_empty(circular queue);
int is_full(circular queue);
int insert(circular queue, const T data);
int popout(circular queue, T *data);
int queue_lenth(circular queue);
int read_queue(int tag, T *data, circular queue);
int close_queue(circular *queue);int init_queue(circular *queue)
{
queue->head = 0;
queue->tail = 0;
queue->mutex = sem_open("read", O_RDWR | O_CREAT, 0644, 0);
queue->db = sem_open("write", O_RDWR | O_CREAT, 0644, 0);
sem_init(queue->mutex, 0, 1);
sem_init(queue->db, 0, 1);
queue->reader = 0;
return 0;
}int is_empty(circular queue)
{
int ret;
sem_wait(queue.mutex);
queue.reader++;
if(queue.reader == 1)
sem_wait(queue.db);
sem_post(queue.mutex);
//临界区
ret = (queue.head == queue.tail);
//临界区
sem_wait(queue.mutex);
queue.reader--;
if(queue.reader == 0)
sem_post(queue.mutex);
return ret;
}int is_full(circular queue)
{
int ret;
sem_wait(queue.mutex);
queue.reader++;
if(queue.reader == 1)
sem_wait(queue.db);
sem_post(queue.mutex);
//临界区
ret = (queue.head == (queue.tail + 1) % LENTH);
//临界区
sem_wait(queue.mutex);
queue.reader--;
if(queue.reader == 0)
sem_post(queue.mutex);
return ret;
}int insert(circular queue, const T data)
{
int ret = 0;
sem_wait(queue.db);
//临界区
if(is_empty(queue))
ret = -1;
queue.data[queue.tail] = data;
queue.tail = (queue.tail + 1) % LENTH;
sem_post(queue.db);
//临界区
return ret;
}int popout(circular queue, T *data)
{
int ret = 0;
sem_wait(queue.db);
//临界区
if(is_full(queue))
ret = -1;
*data = queue.data[queue.head];
queue.head = (queue.head + 1) % LENTH;
//临界区
sem_post(queue.db);
return ret;
}int queue_lenth(circular queue)
{
int ret;
sem_wait(queue.mutex);
queue.reader++;
if(queue.reader == 1)
sem_wait(queue.db);
sem_post(queue.mutex);
//临界区
ret = (queue.tail - queue.head + LENTH) % LENTH;
//临界区
sem_wait(queue.mutex);
queue.reader--;
if(queue.reader == 0)
sem_post(queue.mutex);
return ret;
}int read_queue(int tag, T *data, circular queue)
{
int ret = 0;
sem_wait(queue.mutex);
queue.reader++;
if(queue.reader == 1)
sem_wait(queue.db);
sem_post(queue.mutex);
//临界区
if(tag >= queue_lenth(queue))
ret = -1;
*data = queue.data[queue.head + tag];
//临界区
sem_wait(queue.mutex);
queue.reader--;
if(queue.reader == 0)
sem_post(queue.mutex);
return ret;
}int close_queue(circular *queue)
{
sem_destroy(queue->mutex);
sem_destroy(queue->db);
return 0;
}
❿ c语言,如何产生随机数
1、第一步,先定义int一个数组和int一个指针变量。