1006 换个格式输出整数
让我们用字母 B
来表示“百”、字母 S
表示“十”,用 12...n
来表示不为零的个位数字 n
(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234
应该被输出为 BBSSS1234
,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。
输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。
输入样例 1:
234
输出样例 1:
BBSSS1234
输入样例 2:
23
输出样例 2:
SS123
基本思路:
(1)直接用输入的数字求出百位、十位、各位对应的数值,然后用3个循环打印即可完成
(2)利用dec求出对应位的值,用数组存储需要打印的结果(B,S)用dec/100来对应数值下标
(1)
#include <stdio.h>
int main(void){
int n;
scanf("%d",&n);
int b,s,t,i;
b=n/100;
s=n%100/10;
t=n%10;
for(i=0;i<b;i++) printf("B");
for(i=0;i<s;i++) printf("S");
for(i=1;i<=t;i++) printf("%d",i);
putchar('\n');
return 0;
}
(2)
#include <stdio.h>
int main(void){
int n;
scanf("%d",&n);
char ch[2]={'S','B'};
int dec=1,temp=n,a;
while(temp>9){
dec*=10;
temp/=10;
}
while(dec){
a=n/dec;
if(dec!=1){
for(int i=0;i<a;i++){
printf("%c",ch[dec/100]);
}
}
else{
for(int j=1;j<=n;j++){
printf("%d",j);
}
}
n%=dec;
dec/=10;
}
return 0;
}
好好学习,天天向上!
我要考研!