1. 程式人生 > >PAT 乙級1006

PAT 乙級1006

1006. 換個格式輸出整數 (15)

時間限制 400 ms
記憶體限制 65536 kB
程式碼長度限制 8000 B
判題程式 Standard 作者 CHEN, Yue

讓我們用字母B來表示“百”、字母S表示“十”,用“12...n”來表示個位數字n(<10),換個格式來輸出任一個不超過3位的正整數。例如234應該被輸出為BBSSS1234,因為它有2個“百”、3個“十”、以及個位的4。

輸入格式:每個測試輸入包含1個測試用例,給出正整數n(<1000)。

輸出格式:每個測試用例的輸出佔一行,用規定的格式輸出n。

輸入樣例1:
234
輸出樣例1:
BBSSS1234
輸入樣例2:
23
輸出樣例2:
SS123


#include<iostream>
using namespace std;
int b[3] = {100,10,1};
char c[3] = {'B','S','0'};
//注意cout<<字元+數字    會輸出結果對應的ascii碼
//用一個全域性陣列會方便很多
int main()
{
    int n,i,d;
    cin>>n;
    i = 0;
    while( n>0 ){
        d = n/b[i];
        if( d ){
            if( i==2 )
                for( int j=1; j<=d; j++ ){
					char t = c[i]+j;
					cout<<t;
				}
            else{
                for( int j=1; j<=d; j++ )
                    cout<<c[i];
            }
        }
        n = n%b[i];
        i++;
    }
    return 0;
}