返回列表 發帖

C# 7 310 遞迴函數

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

1. 題目說明:
請新增一個主控台應用程式,加入C:\ANS.CSF\CS03資料夾中的CSD03.cs進行編寫。依下列題意進行作答:設計可以遞迴執行的函數,使輸出值符合題意要求。檔案名稱請另存新檔為CSA03.cs,儲存於C:\ANS.CSF\CS03資料夾,再進行評分。

2. 設計說明:
請在程式中撰寫一個compute的遞迴函數,接收Main()傳遞的一個數值,compute函數計算下列公式並回傳至Main()。
* compute(1) = 2
* compute(n) = compute(n - 1) + 3 x n
若使用者輸入負整數,請取絕對值後傳入compute();若輸入0、帶有小數點的數字或文字,請輸出【error】。

3. 輸入輸出:
輸入說明
一個整數

輸出說明
函數計算結果(輸出最後一行後不自動換行)

範例輸入1
5
範例輸出1
44

範例輸入2
0
範例輸出2
error

4. 評分項目:
(1) 符合設計說明輸出正確格式 配分        20
May

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

  6. namespace CSA03
  7. {
  8.     class CSA03
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             //TODO
  13.             int num, result;

  14.             try
  15.             {
  16.                 num = int.Parse(Console.ReadLine());
  17.                 if (num == 0)
  18.                 {
  19.                     throw new ArgumentException("num could not be zero");
  20.                 }

  21.                 num = Math.Abs(num);
  22.                 result = compute(num);
  23.                 Console.Write(result);
  24.             }
  25.             catch
  26.             {
  27.                 Console.Write("error");
  28.             }
  29.             Console.ReadKey();
  30.         }
  31.         // ==================================================
  32.         // Please write your code in the specified Method
  33.         // Do NOT change the method name, type of parameter
  34.         // ==================================================
  35.         static int compute(int n)
  36.         {
  37.             //TODO
  38.             if (n == 1)
  39.             {
  40.                 return 2;
  41.             }
  42.             else
  43.             {
  44.                 return compute(n - 1) + (3 * n);
  45.             }
  46.         }

  47.     }
  48. }
複製代碼
May

TOP

  1. using ConsoleApp1;
  2. using System;//程式庫呼叫
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq.Expressions;
  5. using ABC.qq;


  6. class Program//負責一部分工作的人
  7. {
  8.    
  9.     static void Main()
  10.     {
  11.         int num, result;
  12.        try
  13.         {
  14.             num = int.Parse(Console.ReadLine());
  15.             if (num==0)
  16.                 throw new ArgumentException("num could not be zero");
  17.             num=Math.Abs(num);
  18.             result = compute(num);
  19.             Console.WriteLine(result);
  20.         }catch
  21.         {
  22.             Console.WriteLine("error");
  23.         }
  24.    

  25.     }
  26.     static int compute(int num)
  27.     {
  28.         if (num == 1)
  29.             return 2;
  30.         else
  31.             return compute(num - 1)+(3*num);
  32.     }

  33. }
複製代碼
istak.teach2@gmail.com

TOP

返回列表