这是之前写的一个1-16整数随机排列的程序,今天再打看一下,觉得用GOTO指令比较繁琐,程序也不简洁。大家帮看一下,还能否在优化,想到了FOR循环指令,但是不得其法。
随机数排列.pdf
补充说明:看到大家回复的信息,可能是我的问题描述得不是太清楚,在此重新描述一下程序设计要求。
1. 根据系统随机生成库,每个扫描周期生成一个1-16之间的整数,每次只生成一个整数,有重复率的问题(这个也是关键点)。
2. 将生成的随机整数依次放入到数组中,比如第一个生成8,将8放入Array[1]中,第二个生成13,将13放入Array[2]中,第三次生成8,丢弃。直至将1-16的之间的整数全部填充至Array[1]-Array[16],关键就是将重复的整数丢弃。
3. 满足MIN、MAX输入的调整。即,MIN可以是1-15,MAX可以是2-16,考虑防呆。
我这个程序可以实现这个功能了,只是感觉有点冗长,不够精简,请大家帮看一下,有没有简练的实现方法。
考虑到用FOR,但是重复率是一个很大的难题。