假定已經獲取題庫中的試題號抽取n題組成考題字串
問題及程式碼:
/*
* Copyright (c) 2016, 煙臺大學計算機與控制工程學院
* All rights reserved.
* 檔名稱:kt.cpp
* 作 者:單昕昕
* 完成日期:2016年3月19日
* 版 本 號: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”。
要求,組成考題字串中考題不重複,且一定在陣列中存在。自行設計程式驗證上述方法正確性。
public static string getKTH(int n,params int [] arrayKT)
{
//提示:主體中使用random類
}
*/
using System;
using System.Collections;//雜湊表必用標頭檔案
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int [] arrayKT=new int [100];
Random rd = new Random();//Random類,用來產生隨機數
Hashtable ht = new Hashtable();//雜湊表,這裡用來判斷是否有重複的數字
int cnt = 0;//計數
for (int i = 0; i < 1000; ++i)//多次迴圈來保證找到100個不重複的數字
{
int temp=rd.Next(1,101);//temp中間變數儲存當前產生的隨機數
if (!ht.Contains(temp))//如果雜湊表中不存在當前隨機數
{
ht.Add(temp, temp);//新增到雜湊表中
arrayKT[cnt] = temp;//新增到題目序號陣列中
++cnt;//題目序號陣列計數加一
if (cnt == 100)
break;
}
}
//for (int i = 0; i < arrayKT.Length;++i )//測試用
//Console.WriteLine(arrayKT[i]+"*"+i);
Console.Write("n=");
int n = int.Parse(Console.ReadLine());//輸入n,表示要取出的考題數目
Console.WriteLine("考題:"+getKTH(n, arrayKT));
Console.ReadKey();
}
public static string getKTH(int n, params int[] arrayKT)//params實現方法形參個數可變
{
StringBuilder kt = new StringBuilder();//題目序號字串
for (int i = 0; i < n-1; ++i)
{
kt.Append(arrayKT[i].ToString() + ",");//向StringBuilder例項尾端追加字串
}
kt.Append(arrayKT[n-1].ToString());//為了保證輸出格式,末尾一個數字後面沒有逗號
return kt.ToString();//返回新生成的題目序號字串
}
}
}
執行結果:
其實其他的都很簡單,就是還要寫個雜湊表判斷有木有重複的~~
相關文章
- OCP考試題庫-185題
- 計算機組成原理期末考試題計算機
- PAT甲級考試題庫題目分類
- OCP考試題庫-IZ0-052 第10題
- 企業shell面試題:獲取51CTO部落格列表倒序排序考試題面試題排序
- 隨機獲取題目中的試題號(注意函式的要求上下界包不包含)隨機函式
- 關於字串中取相同的字元問題(小學題)字串字元
- 個人比較在意的047題庫中的若干考題(一)
- 2020年N1叉車司機試題及答案及N1叉車司機模擬考試題庫
- 面試題:web程式設計技術考試題庫(含答案)面試題Web程式設計
- 2020年高壓電工考試題及高壓電工考試題庫
- 《國際企業管理》考試題庫
- 經典面試題|講一講JVM的組成面試題JVM
- 變數提升的考試題變數
- 字串排列組合問題字串
- 字串位元組數問題字串
- 軟體工程考試題軟體工程
- [Q]隨機抽取前N條記錄的問題zt隨機
- 【計題04組01號】Java面試問答題Java面試
- OCP 063中文考試題庫(cuug內部資料)第45題
- OCP 063中文考試題庫(cuug內部資料)第46題
- OCP 063中文考試題庫(cuug內部資料)第37題
- OCP 063中文考試題庫(cuug內部資料)第38題
- OCP 063中文考試題庫(cuug內部資料)第39題
- OCP 063中文考試題庫(cuug內部資料)第40題
- OCP 063中文考試題庫(cuug內部資料)第33題
- OCP 063中文考試題庫(cuug內部資料)第41題
- OCP 063中文考試題庫(cuug內部資料)第42題
- OCP 063中文考試題庫(cuug內部資料)第43題
- OCP 063中文考試題庫(cuug內部資料)第44題
- 2020年保育員(初級)作業考試題庫及保育員(初級)考試試題
- oracle ocp 19c考題,科目082考試題-temporary undoOracle
- oracle ocp 19c考題,科目082考試題-Oracle NetOracle
- oracle ocp 19c考題,科目082考試題-INTERSECT operatorOracle
- ocp 19c考題,科目082考試題(28) - oracle profilesOracle
- C語言的考試題型C語言
- 神經病院objc runtime入院考試(擴充題)OBJ
- 2021年高壓電工證考試題庫及高壓電工試題解析