-
如果你不重複,我會給你乙個更經典的**。
int a[35];
int i,x,y,tmp;
for(i=0;i<35;我++)這是作業,定義的時候也可以直接寫,呵呵。
a[i]=i+1;
for(i=0;i<100;我++)你交換的次數越多,A就越混亂,這取決於你。
while(1) 這裡是產生 0 34 而不重複的 x y 數字。
x=rand()%35;
y=rand()%35;
if(x!=y)
break;
tmp=a[x];交換 xy 下標對應的兩個 ace 的元素。
a[x]=a[y];
a[y]=tmp;
完成上述工作後,那麼 A 陣列就很亂了,但不再重複了。
最後,只要拿出10個數字,隨機拿出10個連續的數字,剩下的就可以了,我想你應該可以完成它。
-
讓我們給你乙個金鑰結構。
1.乙個隨機數組 int a[10];
2.乙個比較函式 find(int ivalue),在 A 陣列中找到 ivalue,找到它並返回 true,否則為 false
3.乙個迴圈 for(int i = 0; i < 10;請注意,沒有 i++
4.在迴圈中生成隨機數 int temp = rand % 35;
0 ||find(temp)) continue;
否則,a[i] = temp。 i++.
6.完成迴圈後輸入 a 的中值。
7.定義 int n, scanf("%d", &n)輸入 n 作為迴圈數。
8.定義迴圈 for(int j = 0; j < n;j++) 將 1-6 步放入乙個迴圈中。
-
srand((int)time(0));生成隨機數種子。
for(i = 0; i < 10;i++)j = 1 + int)( rand() (rand max + 生成隨機數。
以這種方式生成的隨機數可能會重複,所以讓我們來看看 *printf("%d ", j);
-
有乙個名為 rand() 的隨機函式。
你查一下。
-
函式 int rand(void):從 srand (seed) 中指定的種子開始,返回 [seed, rand max(0x7fff)] 之間的隨機整數。
在本例中,time(0) 從當前時間的紀元時間中獲取秒數,在迴圈中,你得到與 time(0) 相同的值,每次設定 srand(time(0)) 然後使用 rand 時,你都會得到相同的值。 如果在 srand(time(0)) 之後睡 1 秒,每次獲得的值會有所不同。
srand( time(0)) 被放置在迴圈之外,每次呼叫 rand() 都會產生乙個隨機數,列印的數字是隨機的。
-
函式 intrand(void):
從。 srand
種子)。
seed,返回 [seed,rand max(0x7fff)) 之間的隨機整數)。
這裡 time(0) 從當前時間的紀元時間中獲取秒數,在迴圈中,你得到與 time(0) 相同的值,所有時間你設定 srand(
time(0)
使用蘭德後,將獲得相同的值。 如果 srand(time(0)
休眠 1 秒後,每次的值都會不同。
srand(
time(0)
放置在迴圈之外,每次呼叫 rand() 都會生成乙個隨機數,列印的數字是隨機數。
-
i++ 是 i+1。 rand()%100+1 是取乙個隨機數並加 1(以避免得到 0),例如,如果你隨機得到 45,結果是 46。 取 3000 以內的隨機數為 rand()%3000
i++ 甚至不知道,你學的 C 是徒勞的。
-
i++ 是 i 加 1
rand() 是取隨機數的方法,百分號是取餘數的方法,如果你想取 1 到 300 的隨機數,那就取 300 的餘數
rand()%300+1
你能說清楚嗎,我不知道你的意思。 是否要在 main 函式中呼叫乙個函式,然後不知道如何定義被呼叫的函式? 如果是這樣的話,我可以告訴你。 >>>More
函式是否被外部引用不是一成不變的,兩者之間沒有必然的相關性。 此外,如果某個函式被指定為靜態函式,則應在標頭檔案中將其宣告為靜態函式,否則其他人在使用庫時會誤用它。