题目
让我们用字母 B
来表示“百”、字母 S
表示“十”,用 12...n
来表示不为零的个位数字n(<10)
,换个格式来输出任一个不超过 3 位的正整数。例如 234
应该被输出为 BBSSS1234
,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式
每个测试输入包含 1 个测试用例,给出正整数n(<1000)
。
输出格式
每个测试用例的输出占一行,用规定的格式输出 n
。
输入样例
234
23
输出样例
BBSSS1234
SS123
解答
#include <stdio.h>
int main(void){
int n, a[3];
scanf("%d",&n);
for(int i = 0; i < 3; i++){
a[i] = n % 10;
n /= 10;
}
while(a[2]!=0){
printf("B");
a[2]--;
}
while(a[1]!=0){
printf("S");
a[1]--;
}
for(int i = 1; i <= a[0]; i++){
printf("%d",i);
}
printf("\n");
return 0;
}
小结
关键是使用%
获取数字的各个位数,然后按照题目的要求输出。