输入格式:
输入在第一行给出一个正整数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;
}
2041



被折叠的 条评论
为什么被折叠?



