• 题目:

    解决代码:
// StrConsole.cpp : 定义控制台应用程序的入口点。
// 需求:字符串处理

#include "stdafx.h"

using namespace std;

//按长度为8的形式处理字符串
//@param:str:需要处理的字符串
//@return:字符串集合
vector<string> consoleString(std::string str)
{
vector<string> str_vec;
//1.小于8的情况
if (str.size()<8)
{
int index = 8-str.size();//index为需要添加的长度
for(int i = 0; i < index;i++)
{
str.append("0");
}
str_vec.push_back(str);
return str_vec;
}
//2.大于8的情况
int cur_count = (int)(str.size()/8); //获得有多少对
int cur_index = str.size()%8; //余数
cout << "多少对:"<< cur_count << endl;
cout << "余数:" << cur_index << endl;
//3.判断余数不为0的情况下,插入字符
if (cur_index!=0)
{
for (int k = 0; k<8-cur_index;k++)
{
str.append("0");
}
}
string con_str="";
//4.开始拼接成字符串
for (int m = 0 ; m < str.size();m++)
{
con_str.push_back(str[m]);
if ((m+1)%8==0)
{
str_vec.push_back(con_str);
con_str="";
}
}

cout << "拼接后的字符串:" << str << endl;
return str_vec;
}

int _tmain(int argc, _TCHAR* argv[])
{
string mm = "4123000002";
vector<string>vec_str = consoleString(mm);
cout << "显示结果:" << endl;
for (int i = 0; i<vec_str.size();i++)
{
cout << vec_str[i]<< endl;
}
system("pause");
return 0;
}

运行结果:

牛客网编程题04--字符串处理_字符串