題目
按要求分解字符串,輸入兩個數M,N;M代表輸入的M串字符串,N代表輸出的每串字符串的位數,不夠補0。例如:輸入2,8, “abc” ,“123456789”,則輸出爲“abc00000”,“12345678“,”90000000”
代碼
#include<iostream>
#include<string>
#include<vector>
using namespace std;
vector<string> ResolveStr(vector<string> &vec,int m,int n)
{
int strlengh=0;int veclen=vec.size();
for(int i=0;i<veclen;i++)
{
strlengh=vec[i].length();
if(strlengh<n)
vec[i].insert(vec[i].end(),n-strlengh,'0');
if(strlengh==n)
;
else
{
while(strlengh>n)
{
string temp=vec[i].substr(n,strlengh);
strlengh=temp.size();
vec[i]=vec[i].assign(vec[i].begin(),vec[i].begin()+8);
vec.push_back(temp);
i++;
veclen++;
}
i--;
}
}
return vec;
}
int main()
{
int m=0,n=0;
cin>>m>>n;
vector<string> vec(m);
for(int i=0;i<m;i++)
cin>>vec[i];
ResolveStr(vec,m,n);
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}
system("pause");
return 0;
}
注意事項: