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