PAT B11006 換個格式輸出整數 (15 分)
阿新 • • 發佈:2019-02-10
大小 get tex 試用 bbs 超過 不為 include lan
讓我們用字母 B
來表示“百”、字母 S
表示“十”,用 12...n
來表示不為零的個位數字 n
(<),換個格式來輸出任一個不超過 3 位的正整數。例如 234
應該被輸出為 BBSSS1234
,因為它有 2 個“百”、3 個“十”、以及個位的 4。
輸入格式:
每個測試輸入包含 1 個測試用例,給出正整數 n(<)。
輸出格式:
每個測試用例的輸出占一行,用規定的格式輸出 n。
輸入樣例 1:
234
輸出樣例 1:
BBSSS1234
輸入樣例 2:
23
輸出樣例 2:
SS123
#include <stdio.h> #include <algorithm> #include<string> #include <map> #include <iostream> #include <stack> using namespace std; const int maxn = 100; int index[3] = { 0 }; int main(){ int n; cin >> n; int pos = 2; while (n != 0){ index[pos--] = n % 10; n /= 10; } for (int i = 0; i < index[0]; i++){ cout << ‘B‘; } for (int i = 0; i < index[1]; i++){ cout << ‘S‘; } for (int i = 0; i < index[2]; i++){ cout << i+1; } system("pause"); }
註意點:輸入整數不一定是三位數,所以不能用getchar直接來做。用數組倒著存也就是先進後出(filo),也可以用stack,但就需要判斷大小了
PAT B11006 換個格式輸出整數 (15 分)