1. 程式人生 > >PAT (Basic Level) Practice (中文)1006 換個格式輸出整數 (15 分)(C++)

PAT (Basic Level) Practice (中文)1006 換個格式輸出整數 (15 分)(C++)

1006 換個格式輸出整數 (15 分)

讓我們用字母 B 來表示“百”、字母 S 表示“十”,用 12…n 來表示不為零的個位數字 n(<10),換個格式來輸出任一個不超過 3 位的正整數。例如 234 應該被輸出為 BBSSS1234,因為它有 2 個“百”、3 個“十”、以及個位的 4。

輸入格式:

每個測試輸入包含 1 個測試用例,給出正整數 n(<1000)。

輸出格式:

每個測試用例的輸出佔一行,用規定的格式輸出 n。

輸入樣例 1:

234
輸出樣例 1:

BBSSS1234
輸入樣例 2:

23
輸出樣例 2:

SS123


#include
<cstdio>
#include <cstring> int main() { int n = 0; scanf("%d", &n); char Stack[50] = {0};//輔助棧 int top = -1;//棧頂指標 int m = n % 10;//個位 n /= 10; while (m) { Stack[++top] = '0' + m; m--; }//m個數字入棧 m = n % 10;//十位 n /= 10; while(m--) Stack[++top] = 'S';//m個S入棧 m = n % 10;//百位 while (m--) Stack[++
top] = 'B';//m個B入棧 while (top>=0) printf("%c", Stack[top--]);//輸出棧即可 return 0; }