|
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)、以及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:
- 可以透過字元的加減法輸出大寫字母
- 可以透過迴圈和next來不斷拜訪並取得下一個LinkedLetter
- 可以透過判斷LinkedLetter記憶體是否為NULL,來決定是否終止迴圈
function.c
#include "function.h"
void traversal(LinkedLetter *LL)
{
// TODO
}
Input
TTTTT
Note:
- 輸入 5 個字元 T 分別代表字母 a~e 的字元狀態
- T 為 'U', 'L', 'N' 其中一種
- 無需處理輸入
e.g.
UULLU > ABcdE
LLNLN > abd
Output
輸出符合以下格式:
a1b1c1d1e1
Note:
- 輸出的最後必須要有一個換行符號 ('\n')
- a1~e1 分別為大小寫不拘的字母 'a' ~ 'e'
Partial Judge Code
13729.c
Partial Judge Header
13729.h
Tags