對已經獲取到的隨機數做標記,如果已經獲取到過,那麽則放棄該隨機數,並繼續獲取。
直到獲取到所有隨機數為止。
參考代碼如下:
#include?<stdio.h>#include?<stdlib.h>
#include?<time.h>
int?main()
{
int?a[10];//存儲獲取到的隨機數。
int?f[10]?=?{0};//存儲是否獲取到過。
int?n?=?0;?//計數器。
srand(time(NULL));//設置隨機數種子。
while(n<10)
{
int?m?=?rand()%10;?//獲取壹個0~9的隨機數。
if(f[m])?continue;//該數之前已經獲取到過。
a[n++]?=?m;//將該數存入數組。
f[m]?=?1;//標記該數已經獲取過。
}
for(n?=?0;?n?<?10;?n++)//打印結果。
printf("%d,",a[n]);
return?0;
}