1. 程式人生 > >L1-032. Left-pad

L1-032. Left-pad

本題要求:

根據新浪微博上的訊息,有一位開發者不滿NPM(Node Package Manager)的做法,收回了自己的開原始碼,其中包括一個叫left-pad的模組,就是這個模組把javascript裡面的React/Babel幹癱瘓了。這是個什麼樣的模組?就是在字串前填充一些東西到一定的長度。例如用“*”去填充字串“GPLT”,使之長度為10,呼叫left-pad的結果就應該是“******GPLT”。Node社群曾經對left-pad緊急釋出了一個替代,被嚴重吐槽。下面就請你來實現一下這個模組。

輸入格式:

輸入在第一行給出一個正整數N(<=104)和一個字元,分別是填充結果字串的長度和用於填充的字元,中間以1個空格分開。第二行給出原始的非空字串,以回車結束。

輸出格式:

在一行中輸出結果字串。

輸入樣例:

15 _
I love GPLT

輸出樣例:

____I love GPLT

解題思路 :

注意字元和字串讀取上的問題就好了。

程式碼 :

#include<iostream> 
#include<string>

using namespace std;

int main() {
    int m;
    char c;
    cin >> m >> c;
    getchar();
    string str;
    getline(cin
,str); int size = str.length(); if (size >= m) { cout << str.substr(size - m) << endl; } else { for (int i = 0; i < m - size; i++) { cout << c; } cout << str << endl; } return 0; }