當前位置:首頁 » 編程語言 » c語言不同隨機數生成
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言不同隨機數生成

發布時間: 2022-02-23 05:07:03

c語言怎麼產生兩個不同的隨機數

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
main(){
int i,a[2];
srand(time(0));
for(i=0;i<2;i++)
a[i]=rand();
for(i=0;i<2;i++)
printf("%d\n",a[i]);
}

㈡ 怎樣用c語言產生不同的隨機數

先設置種子數srand((unsigned
int)time(0)).然後用rand()%100就可以產生0-100的不同隨機數了,當然要包括頭文件stdlib.h和time.h.

㈢ 跪求:C語言產生四個不同的隨機數

程序已經修改為
問題補充:我運行都不對,要產生的隨機數小於10,並且不同,麻煩你們再改一下好嗎?我實現沒法實現
的要求

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define _MAX 10

int main()
{
int i = 0;
int a[4];
srand(time((void *)0));

while (i < 4)
{
int j, mark = 0;
a[i] = rand() % _MAX;
for (j = 0; j < i; j++)
if (a[i] == a[j])
mark = 1, j = i;
if (mark)
continue;
else
i++;

}

for (i = 0; i < 4; i++)
printf("%d\t", a[i]);
printf("\n");

system("pause");

return 0;
}

㈣ 用C語言怎樣產生10個不同的隨機數

方法和詳細的操作步驟如下:

1、第一步,打開C語言編譯器並創建一個新的初始.cpp文件,例如「test.cpp」,見下圖,轉到下面的步驟。

㈤ c語言怎樣產生兩個不同的隨機數

用random函數
但是既然是隨機數就有可能相同。要是一定不一樣那就不是隨機數了

㈥ C語言:產生數個不同的隨機數

//這樣改動後出現什麼情況? 也許是我改了你的一個數字!10改為100了,你發現了嗎
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int randa()
{
int a;
srand((unsigned)time(NULL));
a=rand()%10 ;
return(a);
}
void main()
{
int rans[4],i=1,j;
rans[0]=randa();
// rans[i]=randa(); //改動
for(;i<4;i++)
{ rans[i]= randa(); //改動
for( j=i-1;j>=0;)
{
if(rans[i]==rans[j])
{
rans[i]= randa();
j=i-1;
}
else j--;
}
}
for(int k=0; k<4; k++)
printf("%d\n", rans[k]);//改動,rans[0]改為rans[k]
}

㈦ C語言生成100%不相同的隨機數

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int newNum(int a, int b, int *num)
{
int n = (int)((double)rand() / ((double)RAND_MAX + 1) * (b - a)) + a + 1;
for(int i = 0; i < b - a; i++)
{
if(n == num[i])
n = newNum(a, b, num);
}
return n;
}

int* rand(int a, int b)
{
int *num;
num = new int[b-a];
for(int i = 0; i < b - a; i++)
{
num[i] = newNum(a, b, num);
}
return num;
}
int main(int argc, char* argv[])
{
srand((unsigned int)time((time_t *)NULL));

int * num = rand(0, 20);
for(int i = 0; i < 20; i++)
printf("%d\n", num[i]);

delete[] num;
return 0;
}

有兩年多沒來這了,今天睡覺之前給你答一個
要注意幾點:
一、這個例子只是最簡單的實現,實際項目是不可能用這么簡陋的程序,只能供學慣用
二、盡管每次運行都srand了一次,但產生的隨機數依然是偽隨機數,請參考偽隨機數定義
三、windows平台上通用的做法是取系統運行時間為種子,但你的題目要求用C,所以我只有用C函數了,其它平台開發沒弄過
四、這段程序沒有糾錯能力,自己寫代碼一定要注意這些細節,好的習慣決定你的代碼質量
五、new之後不要忘了delete
六、計算大量隨機數時這段程序可能會不適用,並且效率低下,另外希望你可以用C++重寫,用STL可以極大的改進效率
最後你可以找一些成熟的偽隨機數生成的例子進行學習,希望你能在編程的過程中找到自己的樂趣

㈧ c語言怎樣同時產生幾組不同的隨機數

int
a=(int)random(b);random(n)是產生從1到n
的一個隨機數
nt
a=rand();rand()產生的是0--32767之間的隨機數,rand()%5則結果為0-4的任意數,rand()%5+1則為1-5的任意數

㈨ c語言生成10萬個不同的隨機數(一到一億的范圍)

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int tab[100000];

void print(void)
{
int i=0,j=0;

for(i=0;i<100000;i++)
{
printf("%5d ",tab[i]);
j++;
if(j%10==0)
putchar('\n');
}
putchar('\n');
}

void main(void)
{
int i=0,j=0;
srand((unsigned)time(NULL));

for(i=0;i<100000;i++)
tab[i]=rand()%100000000;
printf("\n元素值:\n");
print();

}
數目太多,輸出界面只能看到一部分。

㈩ 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++;

}

(10)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]);

}

}