华为机试第四题:HJ4 字符串分隔
HJ4 字符串分隔一、题目描述①描述②输入描述③输出描述④示例一二、代码实现①Java代码实现②C++代码实现③C代码实现一、题目描述①描述输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。②输入描述连续输入字符串(每个字符串长度小于等于100)③输出描述依次输出所有分割后的长度为8的新字符串④示例一输入:abc输出:abc0000
·
一、题目描述
①描述
输入一个字符串,请按长度为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;
}
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐

所有评论(0)