標題:
C# 7 310 遞迴函數
[打印本頁]
作者:
may
時間:
2024-1-8 22:21
標題:
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
時間:
2024-1-9 09:29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CSA03
{
class CSA03
{
static void Main(string[] args)
{
//TODO
int num, result;
try
{
num = int.Parse(Console.ReadLine());
if (num == 0)
{
throw new ArgumentException("num could not be zero");
}
num = Math.Abs(num);
result = compute(num);
Console.Write(result);
}
catch
{
Console.Write("error");
}
Console.ReadKey();
}
// ==================================================
// Please write your code in the specified Method
// Do NOT change the method name, type of parameter
// ==================================================
static int compute(int n)
{
//TODO
if (n == 1)
{
return 2;
}
else
{
return compute(n - 1) + (3 * n);
}
}
}
}
複製代碼
作者:
李泳霖
時間:
2024-2-4 22:07
using ConsoleApp1;
using System;//程式庫呼叫
using System.ComponentModel.DataAnnotations;
using System.Linq.Expressions;
using ABC.qq;
class Program//負責一部分工作的人
{
static void Main()
{
int num, result;
try
{
num = int.Parse(Console.ReadLine());
if (num==0)
throw new ArgumentException("num could not be zero");
num=Math.Abs(num);
result = compute(num);
Console.WriteLine(result);
}catch
{
Console.WriteLine("error");
}
}
static int compute(int num)
{
if (num == 1)
return 2;
else
return compute(num - 1)+(3*num);
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2