13,825
社区成员
发帖
与我相关
我的任务
分享
float max;
max=RAND_MAX;
srand( (unsigned)time( NULL ) ); //随机数计时开始
return (int)(rand()*(MAX-MIN)/max+MIN);
}
//-------------------#include <stdlib.h>
#include <stdio.h>
const int NUM_MAX = 100; /* 範圍給定 */
void main()
{
int val[NUM_MAX];
int i, r;
unsigned seed;
/* 設定虛擬隨機種子 */
printf("please input seed:");
scanf("%u", &seed);
srand(seed);
for (i = 0; i < NUM_MAX; i++) val[i] = i + 1; /* 建立一個漸進值數組 */
/* 以洗牌法隨機對換數組裡的值...產生不重複隨機數 */
for (i = 0; i < NUM_MAX; i++) {
r = random(NUM_MAX);
/* 無暫存交換法 */
val[i] += val[r];
val[r] = val[i] - val[r];
val[i] -= val[r];
}
for (i = 0; i < 10; i++) printf("%3d", val[i]);
printf("\n");
system("pause"); /* 請按任意鍵繼續... */
}
#include <stdlib.h>
#include <stdio.h>
const int NUM_MAX = 100; /* 範圍給定 */
void main()
{
int val[NUM_MAX];
int i, r;
/* 起始設定亂數產生器 */
randomize();
for (i = 0; i < NUM_MAX; i++) val[i] = i + 1; /* 建立一個漸進值數組 */
/* 以洗牌法隨機對換數組裡的值...產生不重複隨機數 */
for (i = 0; i < NUM_MAX; i++) {
r = random(NUM_MAX);
/* 無暫存交換法 */
val[i] += val[r];
val[r] = val[i] - val[r];
val[i] -= val[r];
}
for (i = 0; i < 10; i++) printf("%3d", val[i]);
printf("\n");
system("pause"); /* 請按任意鍵繼續... */
}