|
Time |
Memory |
| Case 1 |
1 sec |
32 MB |
| Case 2 |
1 sec |
32 MB |
| Case 3 |
1 sec |
32 MB |
| Case 4 |
1 sec |
32 MB |
| Case 5 |
1 sec |
32 MB |
Description
給定主程式 main.c(題號.c)以及標頭檔 function.h(題號.h),請完成Header檔中未實作的函式:traversal()。
每一個節點(Linked_number)都代表一個整數,並包含一個運算設定(加、減、不輸出)。
請依據每個節點的設定,進行運算並輸出結果。
function.h:
enum OperationType
{
Add,
Sub,
NoneOp
};
typedef struct Linked_number
{
int value;
enum OperationType operation;
struct Linked_number *next;
} Linked_number;
function.c:
void traversal(Linked_number *head)
{
// TODO:
// 1. 從 head 開始一路走訪到 NULL
// 2. 遇到 Add 節點就加總,遇到 Sub 節點就減,遇到 NoneOp 不處理
// 3. 最後輸出總和結果(結尾要有換行)
}
Input
第一行:一個整數 n(1 ≤ n ≤ 10)代表節點數
接下來 n 行:每行包含一個整數與一個字元(操作符號),中間以空格隔開
操作符號 + 代表 Add
操作符號 - 代表 Sub
操作符號 N 代表 NoneOp(不計入運算)
Note:
1. 無需處理輸入
Output
輸出一行整數:所有節點根據操作後的總和
Note:
1. 輸出的最後必須要有一個換行符號 ('\n')
Partial Judge Code
14816.c
Partial Judge Header
14816.h
Tags