C#--第九周实验--任务3--定义一个静态成员方法,使用Random实现从一组数中随机抽取n个不重复的数。
/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:定义一个静态成员方法,使用Random实现从一组数中随机抽取n个不重复的数。 * 作 者: 雷恒鑫 * 完成日期: 2012 年 10 月 22 日 * 版 本 号: V1.0 * 对任务及求解方法的描述部分 * 输入描述:假定已经获取题库中的试题号,并存放在数组arrayKT中。 * 输入描述:例如, int [] arrayKT={10,13,18,19,20,22,30,31...}。 * 输入描述:定义一个静态成员方法,该方法实现从上述数组中随机抽出给定数量(n,1<=n<=arrayKT.Length)的考题, * 输入描述:并组成一个考题字符串。比如,随机从arrayKT中抽取5题组成考题字符串:“10,18,20,22,30”。 * 输入描述:要求,组成考题字符串中考题不重复,且一定在数组中存在。 * 输入描述:自行设计程序验证上述方法正确性。 * 问题描述: * 程序输出: * 程序头部的注释结束 */using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace nine_week{ class Program { static void Main(string[] args) { int [] arrayKT={10,13,18,19,20,22,30,31}; getKTH(5, arrayKT); Console.ReadKey(); } public static string getKTH(int n,params int [] arrayKT) { //提示:主体中使用random类 Random rd = new Random(); Console.Write("从题库中抽出的题为:"); for (int j = 0; j < n; j++) { int index = rd.Next(0, arrayKT.Length); Thread.Sleep(1000); //延时的办法的方法来避免Random快速连续产生相同随机数 Console.Write(" {0}",arrayKT[index]); } return ""; } }}
运行结果: