當前位置:首頁 » 編程語言 » c語言不同隨機數

c語言不同隨機數

發布時間: 2022-06-01 05:24:20

❶ 用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一個指針變數。

熱點內容
p7空間存儲空間其他 發布:2025-02-10 23:58:33 瀏覽:392
怎樣把多個文件壓縮 發布:2025-02-10 23:53:04 瀏覽:44
南山存儲器設備供應商哪家質量好 發布:2025-02-10 23:46:50 瀏覽:416
安卓沼澤激戰哪裡下載 發布:2025-02-10 23:45:03 瀏覽:260
網站伺服器如何連接光纖 發布:2025-02-10 23:42:29 瀏覽:729
組合鍵腳本 發布:2025-02-10 23:32:43 瀏覽:553
安卓籃球手游在哪裡下 發布:2025-02-10 23:21:55 瀏覽:133
linux改變所有者 發布:2025-02-10 23:04:13 瀏覽:650
源碼曹毅 發布:2025-02-10 23:04:01 瀏覽:582
odbcforsqlserver 發布:2025-02-10 22:26:37 瀏覽:600