文章
166
粉丝
68
获赞
825
访问
49.6k
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
while(cin>>n){
vector<string>a(n);
for(int i=0;i<n;i++)cin>>a[i];
char c;cin>>c;
int maxx=0;
for(auto x:a){
if(maxx<=x.find(c))maxx=x.find(c);
}
for(auto &x:a){
while(x.find(c)!=maxx){
x="_"+x;
}
}
for(auto x:a)cout<<x<<endl;
}
}
这里需要讲解的有两点,一点是find函数,我们要对齐,且只在前面补充内容,就需要用find函数找到最大的位置,把小于这个位置的填充 _ 达到这个结果,然后就是这里使用了for auto,这个循环类似于一种特殊的函数,x 这里是形参,不是实参,需要 &x,实现对x的地址内指向的内容的修改,如果你不想这么做,就直接用标准循环即可
登录后发布评论
暂无评论,来抢沙发