14569 - Linked Letter (Final-makeup-1)
|
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 |
Case 6 |
1 sec |
32 MB |
Case 7 |
1 sec |
32 MB |
Case 8 |
1 sec |
32 MB |
Case 9 |
1 sec |
32 MB |
Case 10 |
1 sec |
32 MB |
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:
-
可以透過字元的加減法輸出大寫字母
-
可以透過迴圈和next來不斷拜訪並取得下一個LinkedLetter
-
可以透過判斷LinkedLetter記憶體是否為NULL,來決定是否終止迴圈
function.c
#include "function.h"
// 遍歷鏈結列表並根據 letterType 來決定如何輸出
void traversal(Linked_letter *LL) {
// TODO
}
Input
TTTTTT
Note:
-
輸入 6 個字元 T 分別代表字母 a~f 的字元狀態
-
T 為 'U', 'L', 'N' 其中一種
-
無需處理輸入
e.g.
UULLUL > ABcdEf
LLNLNN > abd
Output
輸出符合以下格式:
a1b1c1d1e1f1
Note:
-
輸出的最後必須要有一個換行符號 ('\n')
-
a1~f1 分別為大小寫不拘的字母 'a' ~ 'f'
Partial Judge Code
14569.c
Partial Judge Header
14569.h
Tags