您的位置:首页 > 其它

L1-032. Left-pad

2017-03-19 15:09 316 查看
输入格式:

输入在第一行给出一个正整数N(<=104)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以1个空格分开。第二行给出原始的非空字符串,以回车结束。

输出格式:

在一行中输出结果字符串。

输入样例1:

15 _

I love GPLT

输出样例1:

____I love GPLT

输入样例2:

4 *

this is a sample for cut

输出样例2:

cut

解题思路:先将字符串保存到string中,分两类讨论string的size和N的大小关系,将字符串从后往前输入到一个栈中,最后输出栈。

#include<iostream>
#include<cstdio>
#include<string>
#include<stack>
using namespace std;
int main(void)
{int N; string str;char c;stack<char> st;
cin>>N;
scanf(" ");
cin>>c;
scanf("\n");
getline(cin,str);

if(str.size()>N)
{
for(int i=str.size()-1;i>=str.size()-N;i--)
st.push(str[i]);
}
else
{for(int i=str.size()-1;i>=0;i--)
st.push(str[i]);

for(int i=0;i<N-str.size();i++)
st.push(c);
}

while(!st.empty())
{ cout<<st.top();
st.pop();
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: