L1-032 Left-pad
题意
思路
- 输入数据,并将字符串与n长度比较;
2.若原本字符串的长度大于n,就在遍历字符串的时候用字符串的长度减去n,输出后几位;- 若n的长度大于原本字符串的长度,就先补全前几位,再输出原本字符串;
坑点
- 用getline()读入,前面还要用getchar()吃回车
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
char a;
string s;
scanf("%d %c",&n,&a);//读入字符串
getchar();//吃回车
getline(cin,s);//读入一整行
//cout<<n<<a<<s;
if(n<=s.length())//判断两者的长度
{
for(int i=s.length()-n;i<s.length();i++)
{
printf("%c",s[i]);//输出后几位
}
}else{
for(int i=0;i<n-s.length();i++)
{
printf("%c",a);//补全前几位
}
cout<<s;//直接输出后面的字符串
}
return 0;
}