1006 换个格式输出整数(PAT)

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

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

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

输入样例1:

234

输出样例1:

BBSSS1234

输入样例2:

23

输出样例2:

SS123

代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,bai,shi,ge;
    int i;
    scanf("%d",&n);
    char B='B',S='S';
    char* res[]={"1", "12", "123", "1234", "12345",
     "123456", "1234567", "12345678", "123456789"};
    ge=n%10;
    shi=(n/10)%10;
    bai=n/100;

    for(i=0;i<bai;i++)
    {
        printf("%c",B);
    }
    
    for(i=0;i<shi;i++)
    {
        printf("%c",S);
    }
    
    
    printf("%s",res[ge-1]);//此处也可以用循环代替,都一样
    
    system("pause");
    return 0;

}

 


 

 提交后发现报错,改了一下
代码2:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int n,bai,shi,ge;
    int i;
    
   /*  char B='B',S='S';
    char* res[]={"1", "12", "123", "1234", "12345",
     "123456", "1234567", "12345678", "123456789"}; */

    scanf("%d",&n);
    ge=n%10;
    shi=(n/10)%10;
    bai=n/100;

    for(i=0;i<bai;i++)
    {
        printf("B");
    }
    
    for(i=0;i<shi;i++)
    {
        printf("S");
    }
    
    for(i=0;i<ge;i++)
    {
        printf("%d",i+1);
    }
    
    
    system("pause");
    return 0;

}

 

 
posted @ 2018-06-30 13:33  wangheq  阅读(182)  评论(0编辑  收藏  举报