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 "";
        }
    }
}


運行結果:



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章