题意
给一个小于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;
}
小结
大水题。

本文介绍了一种简单的算法,用于将小于1000的正整数转换为特定格式的字符串输出。该算法首先分离出输入整数的个位、十位和百位数,然后分别使用数字、字符'S'和'B'来表示个位、十位和百位的值。
996

被折叠的 条评论
为什么被折叠?



