13729 - Linked Letter   

Description

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

 

function.h:

enum LetterType

  • LowerCase: 代表輸出小寫字母
  • UpperCase: 代表輸出大寫字母
  • None: 代表不輸出字母

 

LinkedLetter

  • letter (char) 儲存的英文字母
  • letterType (enum LetterType) 代表需將字母輸出成大寫、小寫,或者不輸出。
  • next (LinkedLetter*) 代表下一個LinkedLetter的記憶體位置

 

Methods:

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

hint:

  1. 可以透過字元的加減法輸出大寫字母
  2. 可以透過迴圈和next來不斷拜訪並取得下一個LinkedLetter
  3. 可以透過判斷LinkedLetter記憶體是否為NULL,來決定是否終止迴圈

 

function.c

#include "function.h"
 
void traversal(LinkedLetter *LL)
{
    // TODO
}

Input

TTTTT

 

Note:

  1. 輸入 5 個字元 T 分別代表字母 a~e 的字元狀態
  2. T 為 'U', 'L', 'N' 其中一種
  3. 無需處理輸入

 

e.g.

UULLU > ABcdE

LLNLN > abd

Output

輸出符合以下格式:

a1b1c1d1e1

 

Note:

  1. 輸出的最後必須要有一個換行符號 ('\n')
  2. a1~e1 分別為大小寫不拘的字母 'a' ~ 'e'

Sample Input  Download

Sample Output  Download

Partial Judge Code

13729.c

Partial Judge Header

13729.h

Tags




Discuss