这道题目做的感觉就是很踏实哦!问题细分分类为三种情况,逐个击之!
题目描述
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(输入2次,每个字符串长度小于100)
输出描述:
输出到长度为8的新字符串数组
示例1
输入
abc 123456789
输出
abc00000 12345678 90000000
my codes:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 string s; 6 while(getline(cin,s)) 7 { 8 int len=s.length(); 9 if(len<8) 10 { 11 cout<<s; 12 for(int i=len;i<8;i++) cout<<0; 13 cout<<endl; 14 } 15 else if(len==8) cout<<s<<endl; 16 else{ 17 int n=len/8; 18 int r=len%8; 19 for(int i=0;i<n;i++) 20 { 21 for(int j=0;j<8;j++) cout<<s[i]; 22 cout<<endl; 23 } 24 if(r) 25 { 26 for(int k=8*n;k<len;k++) cout<<s[i]; 27 for(int k=len;k<8*n+8) cout<<0; 28 } 29 cout<<endl; 30 } 31 } 32 return 0; 33 }
灵活运用两个字符串的库函数哦:
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 string s; 6 while((getline(cin,s))) 7 { 8 while(s.size()>8) 9 { 10 cout<<s.substr(0,8)<<endl; 11 s=s.substr(8); 12 } 13 cout<<s.append(8-s.size(),'0')<<endl; 14 } 15 }
以此为基点,补充一下关于字符串的一些函数哦: