码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-12-09 00:20:17      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:i++   std   ret   print   情况   表示   nbsp   数学   while   

让我们用字母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)

标签:i++   std   ret   print   情况   表示   nbsp   数学   while   

原文地址:http://www.cnblogs.com/valar/p/6147036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!