L1-032 Left-pad
阿新 • • 發佈:2018-11-30
題目描述:
根據新浪微博上的訊息,有一位開發者不滿NPM(Node Package Manager)的做法,收回了自己的開原始碼,其中包括一個叫left-pad的模組,就是這個模組把javascript裡面的React/Babel幹癱瘓了。這是個什麼樣的模組?就是在字串前填充一些東西到一定的長度。例如用去填充字串GPLT,使之長度為10,呼叫left-pad的結果就應該是*****GPLT。Node社群曾經對left-pad緊急釋出了一個替代,被嚴重吐槽。下面就請你來實現一下這個模組。
輸入格式:
輸入在第一行給出一個正整數N(≤10
4
)和一個字元,分別是填充結果字串的長度和用於填充的字元,中間以1個空格分開。第二行給出原始的非空字串,以回車結束。
輸出格式:
在一行中輸出結果字串。
輸入樣例1:
15 _
I love GPLT
輸出樣例1:
____I love GPLT
輸入樣例2:
4 *
this is a sample for cut
輸出樣例2:
cut
程式碼如下:
#include <iostream>
#include<string>
using namespace std;
int main()
{
int n;
char c;
cin>>n>>c;
getchar();
string s;
getline (cin,s);
if(n<=s.size()){
cout<<s.substr(s.size()-n);
}
else{
s.insert(0,n-s.size(),c);
cout<<s;
}
return 0;
}
來總結一下:
1)剛總結完一些函式的用法,就用到了。
2)當要求的域寬小於長度時,直接擷取後面的字元,列印輸出。
3)當要求域寬大於長度時,差一個補幾個字元c。