一、题目描述
①描述
输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
②输入描述
连续输入字符串(每个字符串长度小于等于100)
③输出描述
依次输出所有分割后的长度为8的新字符串
④示例一
输入: abc
输出: abc00000
二、代码实现
①Java代码实现
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
String str=scanner.nextLine();
StringBuffer s=new StringBuffer(str);
if(str.length()%8!=0){
int m=8-str.length()%8;
for(int i=0;i<m;i++){
s.append("0");
}
}
while(s.length()>=8){
System.out.println(s.substring(0,8));
s=s.delete(0,8);
}
}
}
}
②C++代码实现
#include<string>
#include<vector>
#include<iostream>
using namespace std;
int main(){
string s;
getline(cin,s);
while(true){
int len=s.size();
if(len<=8){
s.insert(s.end(),8-len,'0');
cout<<s<<endl;
if(!getline(cin,s))break;
}else{
cout<<s.substr(0,8)<<endl;
s=s.substr(8,len-8);
}
}
return 0;
}
③C代码实现
#include<stdio.h>
#include<string.h>
int main(){
char str[105];
while(scanf("%s",str)!=EOF){
int len,count=0;
len=strlen(str);
for(int i=0;i<len;i++){
if(i>0&&i%8==0){
printf("\n");
count=0;
}
printf("%c",str[i]);
count++;
}
while(count<8){
printf("0");
count++;
}
printf("\n");
}
return 0;
}