Board logo

標題: C# 7 508 計算平均成績 [打印本頁]

作者: may    時間: 2024-1-8 22:42     標題: C# 7 508 計算平均成績

TQC+ 物件導向程式語言
最新一次更新時間:2024-01-05 17:44:19

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS05資料夾中的CSD05.cs進行編寫。依下列題意進行作答:使用者輸入一個正整數1~10,表示要計算前幾筆的平均成績,並依照男生女生分別計算,使輸出值符合題意要求。檔案名稱請另存新檔為CSA05.cs,儲存於C:\ANS.CSF\CS05資料夾,再進行評分。
請使用正斜線(/)作為檔案路徑的分隔符號。

2. 設計說明:
請撰寫程式,讀取read.txt檔案內容,read.txt內含十位學生的資料,第二個欄位是身份證號,後三個欄位是成績。
使用者先輸入一個正整數1~10,表示要計算前幾筆的平均成績,並依照男生女生分別計算。
輸出筆數中所有男生及女生的平均成績,中間以一個半形逗號分隔,顯示如【boys:xx,girls:yy】。平均成績計算方式使用整數除法(無條件捨去)。
* 提示:身份證號第二碼1為男生,2為女生。

3. 輸入輸出:
輸入說明
正整數1~10

輸出說明
男生及女生的平均成績(輸出最後一行後不自動換行)

範例輸入1
3
範例輸出1
boys:91,girls:89

範例輸入2
5
範例輸出2
boys:91,girls:86

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

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

  8. namespace CSA05
  9. {
  10.     class CSA05
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             try
  15.             {
  16.                 int p = Convert.ToInt32(Console.ReadLine());
  17.                 int persB = 0;
  18.                 int persG = 0;
  19.                 int boyscore = 0; int girlscore = 0;
  20.                 using (StreamReader sr = new StreamReader(AppDomain.CurrentDomain.BaseDirectory + "/read.txt", Encoding.UTF8))
  21.                 {
  22.                    while (!sr.EndOfStream)
  23.                    {
  24.                         for (int i = 0; i < p; i++)
  25.                         {
  26.                             string line = sr.ReadLine();
  27.                             string[] student = line.Split(',');


  28.                             if (student[1].Substring(1, 1) == "1")
  29.                             {
  30.                                persB += 1;
  31.                                boyscore += Convert.ToInt32(student[2].ToString()) + Convert.ToInt32(student[3].ToString()) + Convert.ToInt32(student[4].ToString());
  32.                             }
  33.                             if (student[1].Substring(1, 1) == "2")
  34.                             {
  35.                                 persG += 1;
  36.                                 girlscore += Convert.ToInt32(student[2].ToString()) + Convert.ToInt32(student[3].ToString()) + Convert.ToInt32(student[4].ToString());
  37.                             }
  38.                         }
  39.                         sr.Close();
  40.                         Console.Write("boys:"+((boyscore/3)/ persB).ToString()+",girls:"+((girlscore/3)/ persG).ToString());
  41.                     }
  42.                   
  43.                 }
  44.               
  45.             }
  46.             catch
  47.             {
  48.                // Console.Write("error");

  49.             }
  50.             Console.ReadKey();
  51.         }


  52.     }
  53. }
複製代碼





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