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的大小关系,将字符串从后往前输入到一个栈中,最后输出栈。
输入在第一行给出一个正整数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; }
相关文章推荐
- PAT L1-032. Left-pad
- pat:L1-032. Left-pad
- L1-032. Left-pad
- L1-032. Left-pad java
- L1-032. Left-pad
- (字符串输入问题)L1-032. Left-pad
- L1-032 Left-Pad
- PAT-L1-032. Left-pad(字符处理)
- L1-032. Left-pad
- PAT 天梯赛 L1-032. Left-pad 【字符串】
- L1-032. Left-pad
- L1-032. Left-pad
- L1-032. Left-pad
- L1-032. Left-pad
- L1-032. Left-pad
- 团体程序设计天梯赛-练习集 L1-032. Left-pad
- L1-032 Left-pad(分类讨论思想)
- L1-032. Left-pad
- L1-032. Left-pad
- PAT练习集之20分题-L1-032. Left-pad