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

C語言連續生成不重復的隨機數

發布時間: 2023-03-08 23:02:11

c語言中生成一組各不相同的不重復的隨機數

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
int*a,n,i,j;
scanf("%d",&n);
a=(int*)calloc(n,sizeof(int));
srand(time(NULL));
for(i=0;i<n;i++)
{
loop:
a[i]=rand()%n+1;
for(j=0;j<i;j++)
if(a[i]==a[j])gotoloop;
}
for(i=0;i<n;i++)printf("%d",a[i]);
printf(" ");
free(a);
return0;
}

❷ c語言生成1 - 100的不重復隨機數

c語言生成1 - 100的不重復隨機數?根據你的要求我已經將代碼實現如下
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
int a[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++){
A: a[i]=rand()%99+1;
for(int j=0;j<i;j++){
a[i]=rand()%99+1;
if(a[i]==a[j])goto A;
else break;
}
}
for(int i=0;i<10;i++)
printf("%d ",a[i]);
}

❸ C語言結構編程中怎樣能產生不重復的隨機數

//讓數不重復,而且每個數都有不好弄,但是如果是生成選手比賽順序,我這種做法就可以了。你把選手的編號放在一個數組裡面,然後從數組的第一個開始,把生成的隨即數當成要交換的下標,隨即交換後就打亂順序了。
雖然產生的隨機數可能一樣,但是這樣打亂順序並不會把選手編號改變了。
例如,
int
tmp,num;
a[10]={1,2,3,4,5,6,7,8,9,10};
srand(time(NULL));
for(int
i=0;i<10;i++)
{
num=rand()%10;
tmp=a[i];
a[i]=a[num];
a[num]=tmp;
}

❹ c語言生成10個不重復的隨機整數,並輸出

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

#defineelemTypeint/*元素類型*/
#defineLEN100/*數組長度上限*/

/*生成n項min~max范圍的隨機數並存入數組randArr*/
voidrandomArray(elemTyperandArr[LEN],intn,elemTypemin,elemTypemax){
inti;
srand((unsigned)time(NULL));/*用時間做種,每次產生隨機數不一樣*/
for(i=0;i<n;i++)
randArr[i]=rand(NULL)%(max-min+1)+min;/*產生min~max的隨機數*/
}

/*列印數組*/
voidprintArr(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%d ",arr[i]);
putchar(' ');
}

intmain(void){
elemTypearr[LEN];
intlen=10;/*10個隨機數*/

randomArray(arr,len,1,50);/*隨機生成數組內容*/
printArr(arr,len);
putchar(' ');

getch();/*屏幕暫留*/
return0;
}

運行結果

❺ c語言如何產生隨機不重復的數,我不重復不知道怎麼寫。怎樣不重復

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{inta[10],i,j,k;
srand(time(NULL));
for(i=0;i<10;i++){//採集10個隨機數
a[i]=rand()%90+10;//隨機數賦值
k=0;//重復個數清零
for(j=0;j<i;j++)//計算重復的個數
if(a[i]==a[j])k++;
if(k!=0)i--;//重復個數不為0,就是有重復的
}//重新產生這個隨機數
for(i=0;i<10;i++)
printf("%4d",a[i]);
}

如圖所示,rand產生不了不重復的隨機數,所以方法就是把產生的重復的去掉。我這里舉個例子,按照這個思路,插入到你的程序里就行了。

望採納。。。。。。