- 注意我写的这一套模板
int times = s.size()/8;
int remain = s.size()%8;
- 这种分段是处理最后一步要break,用最后的输出,如果是中途的话那就次次都输出。
- 最后一步跳入逻辑 i+1 == times。 以及先判断有余数times++,然后余数为0,余数变8
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main(){
string s;
while(cin>>s){
string tar = "";
int times = s.size()/8;
int remain = s.size()%8;
if(remain!=0) times++; if(remain==0) remain=8;
for(int i = 0; i< times;i++){
if( i + 1 == times){
for(int j = i*8; j< i*8 + remain;j++){
tar+=s[j];
}
for(int k = 0; k< 8-remain;k++){
tar+="0";
}
break;
}
string tar_1 = "";
for(int j = i*8; j< (i+1)*8 ;j++){
tar_1+=s[j];
}
cout<<tar_1<<endl;
}
cout<<tar<<endl;
}
return 0;
}