Board logo

標題: C# 7 102 偶數相加 [打印本頁]

作者: may    時間: 2024-1-8 21:27     標題: C# 7 102 偶數相加

TQC+ 物件導向程式語言C# 7 102 偶數相加
最新一次更新時間:2024-01-05 11:42:55

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS01資料夾中的CSD01.cs進行編寫。依下列題意進行作答:將偶數值相加,使輸出值符合題意要求。檔案名稱請另存新檔為CSA01.cs,儲存於C:\ANS.CSF\CS01資料夾,再進行評分。

2. 設計說明:
請撰寫程式,接收輸入的兩個數字,若兩個數字皆是整數且為偶數,輸出相加結果;若輸入的數字不符合要求,請轉換為數字0。

3. 輸入輸出:
輸入說明
兩個數字

輸出說明
依輸入值判斷輸出結果(輸出最後一行後不自動換行)

範例輸入1
240
302
範例輸出1
542
範例輸入2
12.987
500
範例輸出2
500
範例輸入3
135
701
範例輸出3
0
4. 評分項目:                          
(1) 符合設計說明輸出正確格式        配分10       
總 分        10
作者: may    時間: 2024-1-8 23:02

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

  6. namespace CSA01
  7. {
  8.     class CSA01
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string line;
  13.             int num1, num2, sum;

  14.             line = Console.ReadLine();
  15.             try
  16.             {
  17.                 num1 = int.Parse(line);
  18.                 num1 = num1 % 2 == 0 ? num1 : 0;
  19.             }
  20.             catch (FormatException)
  21.             {
  22.                 num1 = 0;
  23.             }

  24.             line = Console.ReadLine();
  25.             try
  26.             {
  27.                 num2 = int.Parse(line);
  28.                 num2 = num2 % 2 == 0 ? num2 : 0;
  29.             }
  30.             catch (FormatException)
  31.             {
  32.                 num2 = 0;
  33.             }

  34.             sum = num1 + num2;
  35.             Console.Write(sum);
  36.             Console.ReadKey();
  37.         }
  38.     }
  39. }
複製代碼

作者: 李泳霖    時間: 2024-1-10 20:50

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

  6. namespace CSA01
  7. {
  8.     class CSA01
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string line;
  13.             int num1, num2, sum;

  14.             line = Console.ReadLine();
  15.             try
  16.             {
  17.                 num1 = int.Parse(line);
  18.                 num1 = num1 % 2 == 0 ? num1 : 0;
  19.             }
  20.             catch (FormatException)
  21.             {
  22.                 num1 = 0;
  23.             }

  24.             line = Console.ReadLine();
  25.             try
  26.             {
  27.                 num2 = int.Parse(line);
  28.                 num2 = num2 % 2 == 0 ? num2 : 0;
  29.             }
  30.             catch (FormatException)//字串不符合所需的模式
  31.             {
  32.                 num2 = 0;
  33.             }

  34.             sum = num1 + num2;
  35.             Console.Write(sum);
  36.             Console.ReadKey();
  37.         }
  38.     }
  39. }
複製代碼
/*
比如說

string number1 = "123";

這個number1裡面存放的123,在C#裡其實是文字,所以是不能直接做數學運算的.

所以才會使用Parse和TryParse來先做轉換.

首先以Parse為例

string stringNumber = "123";
int number = int.Parse(stringNumber);

我們使用int.Parse()來將stringNumber轉換為integer再放入number的變數中

其中需要注意的是,Parse如果沒有轉換成功,比如說stringNumber = "123abc",那就無法轉換為整數.

這時Parse會跳Exception導致程式中斷.

所以二者比較建議使用TryParse,因為它會試著轉換,它會視成功與否回傳1或0,我們可以根據回傳值再決定後續處理

例子如下

string stringNumber = "123";
int number = 0;
bool conversionSuccessful = int.TryParse(stringNumber, out number);
if(conversionSuccessful)
{
           Console.WriteLine(number);
}
else
{
           Console.WriteLine("conversion failed");
}

我們使用int.TryParse()來對stringNumber進行轉換,而out是關鍵字一定要加,number就是轉換成功存放值的地方

所以我們可以根據轉換結果再決定處理方式,也就不會有Exception中斷的問題了.

*/




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