PAT (Basic Level) Practice (中文)1006 換個格式輸出整數 (15 分)(C++)
阿新 • • 發佈:2019-01-02
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;
}