用matlab或者C,或其他编程语言也行,编一段代码要求出现1-40以内的随机数并且每个数字都要出现一次

如题所述

第1个回答  2013-04-29

    

import java.util.Arrays;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
/** @author 小女辍学卖豆芽
 *  版权所有,翻印必究
 */
public class b {
    public static void main(String[] args) {
        //定义一个无重复的集.合
        Set<Integer> set = new HashSet<Integer>();
        //以系统时间为种子
        Random ran = new Random(System.currentTimeMillis());
        //存放结果的数组
        int[] results = new int[40];
        for (int i = 0; i < 40; i++) {
            //产生一个范围不大于15的伪乱数
            int temp = ran.nextInt(40);
            //若此数已存在,则添加失败
            boolean flag=set.add(temp);
            if (flag) {
                results[i] = temp;
            }else{
                --i;//这次不算,重头来过
            }
        }
        //打印结果
        System.out.println(Arrays.toString(results));
    }
}

相似回答
大家正在搜