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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章