这里介绍一个将0到9十个数随机摆入数组的算法,整个算法的思路还是比较简单的,相当于这里有10个盒子,要把标有0到9的10个球放入盒子里,当然你每次拿到的球的标号是随机的,如果你拿到的球的数字之前的盒子里已经有了,那就要重新再拿一个球看看,直到没有重复的,再放入盒子,以此类推。
先大体感觉一下这个算法至少应该有两层循环,外层循环的是盒子的编号,放好一个盒子再放下一个盒子;内层循环是用来遍历所有盒子里的球的数字是否和你手上的重复,如果出现重复就重新拿一个球,直到所有盒子里的球都不重复,才能将手里的球放入。
然后我们分析一下具体代码应该怎么写,这里以c为例,首先我们定义一个数组a[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},当然你用什么数字都可以,然后c里面产生随机数的方法是srand((int)time(0)); 和 x=rand()%10; ,srand()需要包含time.h文件。外层循环用 i 参考,用for来写应该是 for( i=0; i<10 ; i++) ,关于变量的定义我们在前面统一写就可以了,然后就进入内层循环,内层循环是用来遍历数组看看有元素值和产生的随机数相同的,那么以 j 为参考应该这样写 for( j=0 ; j<10 ; j++) ,进入循环以后,我们先要做