字符串分隔

这道题目做的感觉就是很踏实哦!问题细分分类为三种情况,逐个击之!

题目描述

•连续输入字符串,请按长度为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 }

以此为基点,补充一下关于字符串的一些函数哦:

原文地址:https://www.cnblogs.com/dragondragon/p/11190409.html