这道题刚开始又没看懂题目意思,做了半天都是答案错误。后来才发现输出的数字是从1输出到个位数字。
int _tmain(int argc, _TCHAR* argv[])
{
int num;
cin >> num;
deque<string> out;
int temp_l = num % 10;
while (temp_l)
{
string c;
char temp[2];
sprintf_s(temp, "%d", temp_l); //将int转换成string
c = temp;
out.push_front(c);
--temp_l;
}
num = num / 10;
char m[2] = { 'S', 'B' };
int i = 0;
while (num)
{
int temp = num % 10;
string temp_s;
while (temp)
{
temp_s += m[i];
--temp;
}
++i;
out.push_front(temp_s);
num /= 10;
}
for (auto c:out)
{
cout << c ;
}
cout << endl;
return 0;
}