14816 - Linked Number   

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')

Sample Input  Download

Sample Output  Download

Partial Judge Code

14816.c

Partial Judge Header

14816.h

Tags




Discuss