题意
给一个小于1000的正整数,按照以下格式输出:
- 个位数:从
1
开始按顺序输出直到等于个位数为止
(如个位数为7
,则输出1234567
) - 十位数:按十位数的大小输出相应数量的 S
- 百位数:按百位数的大小输出相应数量的 B
则,如果给一个两位数43
,我们就要输出SSSS123
。
分析
题意比较简单,按照思路写下来就好了。
代码
#include <cstdio>
int main()
{
int n;
while( ~scanf( "%d", &n ) ){
int b, s, g; // 百, 十, 个
g = n % 10; // 存放个位数
n /= 10;
s = n % 10; // 存放十位数
n /= 10;
b = n % 10; // 存放百位数
for( int i = 0; i < b; i++ )
putchar( 'B' );
for( int i = 0; i < s; i++ )
putchar( 'S' );
for( int i = 0; i < g; i++ )
printf( "%d", i + 1 );
puts( "" );
}
return 0;
}
小结
大水题。