L 1-032.Left-pad

2057 ワード

タイトルの要求
新浪微博によると、ある開発者がNPMに不満を持っているというやり方で、自分のオープンコードを回収しました.その中にはleft-padというモジュールが含まれています.このモジュールはjavascriptの中のReact/Babelを麻痺させました.これはどんなモジュールですか?文字列の前に何かを詰めて一定の長さにします.例えば「*」で文字列「GPLT」を充填し、長さを10にして、left-padを呼び出した結果は「****GPLT」であるべきです.Node社区はすでにleft-padに対して緊急に代替を発表して、深刻な突っ込みを受けました.このモジュールを実現してください.
入力フォーマット
入力は、最初の行に正の整数N(<=104)と1文字を与え、それぞれ、充填結果文字列の長さと塗りつぶし用文字を与え、中間は1つのスペースで区切られます.2行目は元の非空文字列を与えて、車を返して終了します.
出力フォーマット
結果文字列を1行に出力します.文字列長>Nの場合、右から左にN文字を切り取ります.
入力サンプル
15_I love GPLT
出力サンプル
同前I love GPLT
問題を解く構想
ソース
#include 
#include 
#include 
using namespace std;

int main() {
    int n;
    cin >> n;
    char logo;
    cin >> logo;
    getchar();
    char str[105];
    gets(str);
    int len = strlen(str);
    if (len >= n) {
        for (int i = len - n;i < len;i++) {
            cout << str[i];
        }
    } else {
        for (int i = 0;i < n - len;i++) {
            cout << logo;
        }
        cout << str;
    }
    return 0;
}