1. 程式人生 > >Left-pad

Left-pad

7-18 Left-pad (20 分)
根據新浪微博上的訊息,有一位開發者不滿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<cstdio>
#include<cstring>
#include<vector>
using namespace std;
vector<char >q;
int main(){
	int m,i;
	char c,p;
	scanf("%d %c",&m,&c);
	int t=0;
	getchar();
	while((p=getchar())!=EOF&&p!='\n'){
		q.push_back(p);
		t++;
	}
	if(t<=m){
		int k=t+1;
		while(k<=m){
			printf("%c",c);
			k++;
			
		}
		for(i=0;i<t;i++){
			printf("%c",q[i]);
		}
	}else if(t>m){
		for(i=t-m;i<t;i++){
			printf("%c",q[i]);
		}
	}
	return 0;
}