本文共 1064 字,大约阅读时间需要 3 分钟。
题目
按要求分解字符串,输入两个数M,N;M代表输入的M串字符串,N代表输出的每串字符串的位数,不够补0。例如:输入2,8, “abc” ,“123456789”,则输出为“abc00000”,“12345678“,”90000000”
代码
/*-------------------------------------* 日期:2015-06-18* 作者:SJF0115* 来源:华为机试题* 题目: 分解字符串* 博客:------------------------------------*/#include#include using namespace std;vector ResolveString(vector vec,int n){ int size = vec.size(); vector result; if(size == 0 || n <= 0){ return result; }//if string str; int len; for(int i = 0;i < size;++i){ str = vec[i]; len = str.size(); // 补齐0 for(int j = 0;j < (n - len % n);++j){ str += "0"; }//for // 分解 int index = 0; while(index < len){ result.push_back(str.substr(index,n)); index += n; }//while }//for return result;}int main(){ int m = 2,n = 8; vector vec = { "abc","123456789"}; vector result = ResolveString(vec,n); for(int i = 0;i < result.size();++i){ cout< <
转载地址:http://bzdel.baihongyu.com/