1006 換個格式輸出整數(C語言)

2020-08-13 00:45:20

題目

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

輸入格式

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

輸出格式

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

輸入樣例

234
23

輸出樣例

BBSSS1234
SS123

解答

#include <stdio.h>

int main(void){
    int n, a[3];
    scanf("%d",&n);
    for(int i = 0; i < 3; i++){
        a[i] = n % 10;
        n /= 10;
    }
    while(a[2]!=0){
        printf("B");
        a[2]--;
    }
    while(a[1]!=0){
        printf("S");
        a[1]--;
    }
    for(int i = 1; i <= a[0]; i++){
        printf("%d",i);
    }
    printf("\n");
    return 0;
}

小結

關鍵是使用%獲取數位的各個位數,然後按照題目的要求輸出。