14569 - Linked Letter (Final-makeup-1)   

Description

給定主要執行程式main.c (題號.c)、以及Header檔function.h (題號.h);請試著完成Header檔中未實現的函式:traversal()

 

function.h:

enum LetterType
{
    Lower_case,//代表輸出小寫字母
    Upper_case,//代表輸出大寫字母
    None//代表不輸出字母
};

 

typedef struct Linked_letter
{
    char letter;//儲存的英文字母
    enum LetterType letterType;//代表需將字母輸出成大寫、小寫,或者不輸出。
    struct Linked_letter *next;//代表下一個LinkedLetter的記憶體位置
} Linked_letter;

 

Methods:

- void traversal(LinkedLetter*) – 需不斷的拜訪傳進的LinkedLetter記憶體的下一個LinkedLetter記憶體(next)直至結束(NULL)。並將所有拜訪過的LinkedLetter中的字母(letter)依據其字母型態(letterType)的不同輸出成大寫字母、小寫字母,或不輸出。

hint:

  1. 可以透過字元的加減法輸出大寫字母

  2. 可以透過迴圈和next來不斷拜訪並取得下一個LinkedLetter

  3. 可以透過判斷LinkedLetter記憶體是否為NULL,來決定是否終止迴圈

 

function.c

#include "function.h"
 
// 遍歷鏈結列表並根據 letterType 來決定如何輸出
void traversal(Linked_letter *LL) {
    // TODO
}

 

Input

TTTTTT

 

Note:

  1. 輸入 6 個字元 T 分別代表字母 a~f 的字元狀態

  2. T 為 'U', 'L', 'N' 其中一種

  3. 無需處理輸入

 e.g.

UULLUL > ABcdEf

LLNLNN > abd

 

Output

輸出符合以下格式:

a1b1c1d1e1f1

 

Note:

  1. 輸出的最後必須要有一個換行符號 ('\n')

  2. a1~f1 分別為大小寫不拘的字母 'a' ~ 'f'

Sample Input  Download

Sample Output  Download

Partial Judge Code

14569.c

Partial Judge Header

14569.h

Tags




Discuss