1006. 换个格式输出整数 (15)

Posted ValarMorghulis

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1006. 换个格式输出整数 (15)相关的知识,希望对你有一定的参考价值。

让我们用字母B来表示“百”、字母S表示“十”,用“12...n”来表示个位数字n(<10),换个格式来输出任一个不超过3位的正整数。例如234应该被输出为BBSSS1234,因为它有2个“百”、3个“十”、以及个位的4。

输入格式:每个测试输入包含1个测试用例,给出正整数n(<1000)。

输出格式:每个测试用例的输出占一行,用规定的格式输出n。

输入样例1:

234

输出样例1:

BBSSS1234

输入样例2:

23

输出样例2:

SS123

思路:简单模拟,基础数学三位数分离并用分支语句控制特殊字符的输出
注意:题目中没有给出0这个数字的输出情况,不要画蛇添足

 1 #include<stdio.h>
 2 
 3 int main()
 4 {
 5     int arr[4] = {0};
 6     int num;
 7     scanf("%d",&num);
 8         int cnt =0;
 9         int numm = num; 
10     while(numm)
11     {
12         arr[cnt++] = numm%10;
13         numm /= 10;
14     }
15         if(arr[2]!=0)
16         {
17             while(arr[2]--)
18             {
19                 printf("B");
20             }
21             while(arr[1]--)
22             {
23                 printf("S");
24             }
25             
26             for(int i=1; i<=arr[0]; i++)
27                 printf("%d",i);
28         }
29         else if(arr[1]!=0)
30         {
31                 while(arr[1]--)
32             {
33                 printf("S");
34             }
35             for(int i=1; i<=arr[0]; i++)
36                 printf("%d",i);
37         }
38         
39         else if(arr[0]!=0)
40         {
41             for(int i=1; i<=arr[0]; i++)
42                 printf("%d",i);
43         }
44     return 0;
45  } 

 

以上是关于1006. 换个格式输出整数 (15)的主要内容,如果未能解决你的问题,请参考以下文章

1006 换个格式输出整数 (15)(15 分)

1006. 换个格式输出整数 (15)

1006. 换个格式输出整数 (15)

PAT乙级1006.换个格式输出整数(15)

Java 1006. 换个格式输出整数 (15)

1006. 换个格式输出整数 (15)