本文主要是介绍华为机试 - HJ4 字符串分隔,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
•连续输入字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
(注:本题有多组输入)
输入描述:
连续输入字符串(输入多次,每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc 123456789
输出:
abc00000 12345678 90000000
解法一(字符串一个一个输出):
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main(){char s[101];int i,n=0,t=0;while(cin>>s){n=0;t=0;for(i=0;i<strlen(s);i++){if(n%8==0&&t==1){cout<<endl;n=0;}t=1;cout<<s[i];n++;}if(n<8){for(i=0;i<8-n;i++){cout<<"0";}cout<<endl;}}return 0;
}
解法二(用substr赋值子字符串)
#include<iostream>
#include<string>
using namespace std;
int main(){string s;while(getline(cin,s)){while(s.size()>8){cout<<s.substr(0,8)<<endl;s=s.substr(8,s.size()-8);}if(s.size()<8){for(int i=s.size();i<8;i++){s=s+'0';}}cout<<s<<endl;}return 0;
}
这篇关于华为机试 - HJ4 字符串分隔的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!