PAT Basic level practice 06
来源:互联网 发布:淘宝会员名怎么更改 编辑:程序博客网 时间:2024/05/21 21:45
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
题目比较简单,自己写的代码感觉不是很漂亮。switch语句之后别忘记break。
C++:
#include<iostream>
using namespace std;
#include<string>
#include<stack>
int main()
{
int num = 0;
cin >> num;
int x;
int cnt = 0;
stack<int> s;
if (num == 0)
{
cout << "0";
}
while (num != 0)
{
x = num % 10;
s.push(x);
num /= 10;
cnt++;
}
switch (cnt)
{
case 1:
{
int to = s.top();
for (int i = 0; i < to; i++)
cout << i+1;
break;
}
case 2:
{
int to = s.top();
for (int i = 0; i < to; i++)
cout << "S";
s.pop();
to = s.top();
for (int i = 0; i < to; i++)
cout << i+1;
break;
}
case 3:
{
int to = s.top();
for (int i = 0; i < to; i++)
cout << "B";
s.pop();
to = s.top();
for (int i = 0; i < to; i++)
cout << "S";
s.pop();
to = s.top();
for (int i = 0; i < to; i++)
cout << i+1;
break;
}
}
}
评测结果
测试点
- PAT Basic level practice 06
- PAT Basic level practice 06
- PAT Basic level practice 02
- PAT Basic level practice 03
- PAT Basic level practice 04
- PAT Basic level practice 05
- PAT Basic level practice 08
- PAT Basic level practice 10
- PAT Basic level practice 11
- PAT Basic level practice 12
- PAT Basic level practice 13
- PAT Basic level practice 14
- PAT Basic level practice 15
- PAT Basic level practice 16
- PAT Basic level practice 17
- PAT Basic level practice 18
- PAT Basic level practice 21
- PAT Basic level practice 21
- toolbar ,textfield,图片拉伸,Bundle
- Ubuntu 14.04中升级gcc到版本4.9.2并切换使用它们
- Android 最火框架XUtils之注解机制详解
- hdu 1385 Minimum Transport Cost(floyd && 记录路径)
- WeakReference与SoftReference
- PAT Basic level practice 06
- Qt之QSS中替代background-position的方法。
- 如何加载HTML页面页面到另一个界面中
- MySQL外键设置中的的 Cascade、NO ACTION、Restrict、SET NULL
- 抽象类和接口详解
- linux多线程
- va_list/va_start/va_arg/va_end深入分析
- hdu2866 数论Prime
- 8.17 问题总结