㈠ 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]);
}
}