牛客网&&华为机试&&字符串分割
代码实现
#include<iostream>
#include<string>
using std::cin;
using std::cout;
using std::endl;
using std::string;
const int len = 8;
int main()
{
string str1;
string str2;
string str3;
string temp = "00000000"; //初始化字符串,当有余数的时候就不需要额外补0.
//char temp[9] = "00000000"; //char类型字符串的初始化
int len1 = 0;
int len2 = 0;
int len3 = 0;
int index = 0;
int count = 0;
int k = 0;
int remainder = 0;
getline(cin, str1);
getline(cin, str2);
len1 = str1.size();
len2 = str2.size();
for (int i = 0; i < 2; i++)
{
if (i == 0)
{
count = len1 / len;
len3 = len1;
remainder = len1 % len;
str3 = str1;
}
if (i == 1)
{
count = len2 / len;
len3 = len2;
remainder = len2 % len;
str3 = str2;
}
temp = "00000000"; //INIT
for (k = 0; k < count; ++k)
{
for (int j = len * k; j < (len * k + 8); ++j)
{
temp[index++] = str3[j];
}
cout << temp << endl;
index = 0;
}
if( remainder != 0) //判断是否有未除尽的余数
{
temp = "00000000"; //INIT
for (int i = (len*count); i < len3; i++)
{
temp[index++] = str3[i];
}
cout << temp << endl;
}
index = 0;
}
return 0;
}
编程笔记
- 代码实现解题思路:1.对两次输入的字符串做相同的处理;2.首先获取字符串长度为8的倍数,即循环执行一组8个数据的循环赋值;3.接着判断是否存在余数,不存在则不执行任何语句,存在的话对余数进行处理。
- 需要注意代码实现一些变量的初始化操作,不可缺少。代码实现难度不高,但是细节需要多注意。