效果[随机排列自然数]

      Flash脚本收藏 2007-8-19 22:4
As如下:
paigu_array = new Array();
num_array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
N = num_array.length;
for (i=0; i<N; i++) {
 Num = N-i;
 a = random(Num);
 paigu_array[i] = num_array[a];
 num_array.splice(a, 1);
 //trace(num_array.join(" ;"));
}
trace(":"+paigu_array.join(" "));
 
输出结果如下:
:3 8 10 5 4 9 2 1 7 6
:2 7 6 5 1 10 9 4 8 3
:3 7 8 4 9 5 6 1 2 10
:8 6 3 4 7 10 2 9 5 1
:9 4 8 3 6 10 2 7 5 1
:5 7 2 4 6 8 1 3 10 9
 

可以用在课件中
比如说有十道题目
我们只想随机抽取其中三道来提问
就可以用到这样的[随机排列自然数]
 
数组真是个好东西啊
看来以后要多用用
 
貌似写得有点少
但是这个可是我想了很久的精华哦
 
——————
 
可能有人要问 如果我有20道题目
不是要把 num_array = [1, 2, …… 10] 改为 num_array = [1, 2,……20]哦
基本是这样
有点麻烦哦
 
其实还可以这样:
1. 定义一个题目总数的变量 N_num=20;
2. 加个 For 循环来把自然数 1、2、3……20这20个数放到 数组 num_array 中
如:
for (j=0; j<n_num; j++) {
 num_array[j] = j+1;
}
 
 
完成如下:
paigu_array = new Array();
num_array = new Array();
N_num = 20;
for (j=0; j<N_num; j++) {
 num_array[j] = j+1;
}
N = num_array.length;
for (i=0; i<N; i++) {
 Num = N-i;
 a = random(Num);
 paigu_array[i] = num_array[a];
 num_array.splice(a, 1);
}
trace(":"+paigu_array.join(" "));
 
输出如下:
:10 19 17 18 14 9 2 11 4 13 6 8 20 3 15 5 7 12 1 16
:8 16 20 4 15 2 11 3 19 18 9 13 14 12 10 6 5 7 17 1
:11 8 14 13 3 9 20 1 5 16 10 4 17 6 15 12 2 19 7 18
:16 13 15 17 5 10 19 8 4 2 1 11 20 7 9 18 6 3 14 12
 
数组的相关东东在这里就不说了
想了解就自己看看书吧
标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}