让我们用字母 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、首先要讲输入的n<1000的每一位确定下来,分别存入一个数组内,然后根据数组每一位的数值输相应的B、S还有个位的数字。
#include<stdio.h>
int main()
{
int n,i=0,j,b,a[3]={0};
scanf("%d",&n);
while(n!=0)
{
a[i]=n%10;
n=n/10;
if(n==0)b=i;
i++;
}
for(i=b;i>=0;i--)
{
if(i==2)
{
for(j=0;j<a[i];j++)
printf("B");
}
else if(i==1)
{
for(j=0;j<a[i];j++)printf("S");
}
else
{
for(j=0;j<a[i];j++)printf("%d",j+1);
}
}
return 0;
}
博客介绍了如何使用特定格式输出不超过3位的正整数,将百位、十位和个位用字母B、S和数字表示。通过示例解释了如何将234转换为BBSSS1234,并提供了思路,即存储每个位数并按格式输出。
1090

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



