Board logo

標題: C# 7 406 亂數 [打印本頁]

作者: may    時間: 2024-1-8 22:29     標題: C# 7 406 亂數

TQC+ 物件導向程式語言
最新一次更新時間:2024-01-05 14:59:30

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS04資料夾中的CSD04.cs進行編寫。依下列題意進行作答:以100做為亂數種子,取得及輸出十個1-100之間10個不重複亂數,使輸出值符合題意要求。檔案名稱請另存新檔為CSA04.cs,儲存於C:\ANS.CSF\CS04資料夾,再進行評分。

2. 設計說明:
請撰寫程式,輸入一個1-100的數值做為亂數種子,請檢查不可超出1-100的邊界,否則輸出【error】。
取得10個不重複亂數並輸出,輸出格式如【10 20 33 90 88 19 35 87 91 45】,數字間以半形空格隔開。
3. 輸入輸出:
輸入說明
1個1-100的數值做為亂數種子

輸出說明
10個1-100不重複亂數(輸出最後一行後不自動換行)

範例輸入1
100
範例輸出1
97 16 67 91 36 95 72 62 35 15

範例輸入2
50
範例輸出2
85 49 72 24 79 26 31 53 17 13

範例輸入3
101
範例輸出3
error

4. 評分項目:
(1) 符合設計說明輸出正確格式        配分20
作者: may    時間: 2024-1-9 09:35

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;

  6. namespace CSA04
  7. {
  8.     class CSA04
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             try
  13.             {
  14.                 string str = "";
  15.                 //TODO
  16.                 int seed = int.Parse(Console.ReadLine());
  17.                 if (seed < 1 || 100 < seed)
  18.                 {
  19.                     throw new ArgumentException("seed should be in [1, 100]");
  20.                 }

  21.                 Random rand = new Random(seed);
  22.                 HashSet<int> set = new HashSet<int>();
  23.                 while (set.Count < 10)
  24.                 {
  25.                     set.Add(rand.Next(1, 101)); // in [1, 100]
  26.                 }
  27.                 str = String.Join(" ", set);

  28.                 Console.Write(str.Trim());
  29.             }
  30.             catch
  31.             {
  32.                 Console.Write("error");
  33.             }
  34.             Console.ReadKey();
  35.         }
  36.     }
  37. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2