•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。-笔试面试资料

这是qklbishe.com第8797 篇笔试面试资料
提供答案分析,通过本文《•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 区块链毕设学生63_ShiXuan
import java.util.*; public class Main{     public static void main(String[] args){         Scanner sc = new Scanner(System.in);         while(sc.hasNext()){                  	String s = new String(sc.nextLine());         	if(s.length()%8 !=0 )         		s = s + "00000000";         	         	while(s.length()>=8){         		System.out.println(s.substring(0, 8));         		s = s.substring(8);         	}         }     } }

2016-07-07 23:26:13 回复(145)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 挥着牛鞭的男孩
#include <iostream> #include <string> using namespace std; void ***(string str) { 	if (str == "") 		return; 	if (str.size() <= 8) { 		str.append(8 - str.size(), '0'); 		cout << str << endl; 		return; 	} 	cout << str.substr(0, 8) << endl; 	***(str.substr(8, str.size())); } int main() { 	string str1, str2; 	cin >> str1 >> str2; 	***(str1); 	***(str2); 	return 0; }

2016-07-22 18:15:20 回复(41)
C/C++

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 Allen解神

#include <iostream>  using namespace std;  int main(){     string str;          while(getline(cin,str)){         while(str.size()>8){             cout << str.substr(0,8) <<endl;             str=str.substr(8);         }         cout << str.append(8-str.size(),'0') << endl;	//不够8位的补0     } }

2016-08-26 19:52:31 回复(18)
Python

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 华科平凡

def printStr(string):     if len(string) <= 8:         print(string + "0" * (8 - len(string)))     else:         while len(string) > 8:             print(string[:8])             string = string[8:]         print(string + "0" * (8 - len(string))) a=input() b=input() printStr(a) printStr(b) 

Python3解法。

2017-09-06 15:53:23 回复(23)
Python

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 蚊子我来啦

a=raw_input() b=raw_input()  def chstr(line):     left = len(line)%8     if left != 0:         line += "0" * (8 - left)     for i in range(len(line) / 8):         print line[i*8:(i+1)*8]  chstr(a) chstr(b)

2016-07-06 21:53:17 回复(16)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 胖十斤换网名的阿琛
#include <iostream> #include <string> using namespace std;  int main() {     string s;     while(cin >> s)     {         s = s + "0000000"; //特别强调这里是7个0         while(s.size() >= 8)         {             cout << s.substr(0,8) << endl;             s = s.substr(8);         }     }     return 0; }  

2019-07-28 16:38:13 回复(9)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 那时、如梦
 import java.util.Scanner;  public class Main { 	public static void main(String[] args) { 		Scanner sc=new Scanner(System.in); 		while(sc.hasNext()){ 			String s=sc.nextLine(); 			StringBuffer sb=new StringBuffer(s); 			if(s.length()%8!=0){ 				int n=8-s.length()%8; 				for(int i=0;i<n;i++){ 					sb.append("0"); 				} 			} 			while(sb.length()>=8){ 				System.out.println(sb.substring(0, 8)); 				sb=sb.delete(0, 8); 			} 		} 	} }  

2016-07-12 09:34:30 回复(16)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 Allen()
#include <stdio.h> #include <string.h>  char* copy(char* dst, char* src, int n){     for (int i = 0; i < n; ++i){         if (src[i]) dst[i] = src[i];         else dst[i] = '0';     }     return dst; }  int main(){     char buf[112] = {0};     char out[9] = {0};     while(gets(buf)){         char *p = buf;         while(*p){             printf("%sn", copy(out, p, 8));                        p += 8;         }         memset(buf, 0, 112);     } } 

2016-04-14 21:22:03 回复(9)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 莲之鱼
 #include<iostream> #include<string> #include<vector> using namespace std; int main() { 	string str1; 	string str2; 	while(cin >> str1) 	{ 		cin >> str2; 		vector<string>temp; 		temp.push_back(str1); 		temp.push_back(str2); 		for(int i = 0;i <2;i++) 		{ 		string t = temp[i]; 		int n1 = t.size()/8; 		int n2 = t.size()%8; 		for(int k=0;k<8-n2 && n2>0;k++) 		{ 			t +='0'; 		} 		if(n2>0) 			n1++; 		for(int j=0;j<n1;j++) 		{ 			cout<<t.substr(j*8,8)<<endl; 		} 		} 	} }  

题目要一次输入两个,就两个cin,之后判断若是某个不是8的整数倍,就在字符串后面补齐‘0’,然后利用substr 分段输出就行。蛋疼。。华为这种题目

2016-04-06 17:07:19 回复(2)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 Torsnail
/* 本题思路为先补全字符串到8的整数倍,然后输出     我是用数组存储字符串的 */  #include<iostream> #include<string.h> using namespace std;  void Output(char a[]) { 	int l = strlen(a); 	int m = l / 8;  //整除数 	int n = l % 8;	//余数 	int i,j;  	//在字符串尾部添加0 	for (i = 0; i < 8 - n && n>0; i++) 		a[l + i] = '0'; 	if (n > 0) 		m++; 	for (i = 1; i <= m; i++) 	{ 		for (j = 0; j < 8; j++) 			printf("%c", a[8 * (i - 1) + j]); 		printf("n"); 	} }  int main() { 	char a[200], b[200];  	//循环输入测试用例 	while (cin >> a) { 		cin >> b; 		Output(a); 		Output(b); 	} }

2016-08-04 11:01:24 回复(4)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 区块链毕设学生865742号
//主要明白substr(起始位置,截取子字符窜个数)函数即可 #include <iostream> #include <string> #define MAX_SIZE 100 using namespace std;  void Output(string str); int main() { 	string str1; 	string str2; 	cin >> str1 >> str2; 	if (str1.length() > MAX_SIZE||str1.length() < 1||str2.length() > MAX_SIZE||str2.length() < 1) 	{ 		cout << "input error!" << endl; 	} 	else 	{ 		Output(str1); 		Output(str2); 	} 	return 0; }  void Output(string str) { 	int quotient = str.length()/8; 	int remainder = str.length()%8; 	int count = 0; 	for (int i=0;i<quotient;i++) 	{ 		string substr = str.substr(count,8); 		cout << substr << endl; 		count += 8; 	} 	if (remainder != 0) 	{ 		cout << str.substr(count,remainder); 		for (int i=remainder;i<8;i++) 		{ 			cout << "0"; 		} 		cout << endl; 	} }

2016-03-24 15:11:40 回复(0)
Python

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 lurking

 
def strprint(string):
    while len(string) > 8:
        print(string[:8])
        string =string[8:]
    print(string +"0"*(8-len(string)))
a =input()
b =input()
strprint(a)
strprint(b)

2018-09-04 22:02:24 回复(0)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 无敌的白金之星
#include <stdio.h> #include <string.h>  const int N = 1000;  int main() { 	char str[N]; 	int len, need; 	while (gets(str)) 	{ 		len = strlen(str); 		for (int i = 0; i < len; i++) 		{ 			if ((i + 1) % 8 == 0) 			{ 				printf("%cn", str[i]); 			}	 			else 			{ 				printf("%c", str[i]); 			} 		} 		if (len % 8 != 0) 		{ 			need = 8 - len % 8; 			for (int i = 0; i < need; i++) 			{ 				printf("0"); 			} 			printf("n"); 		} 	} 	return 0; }

2017-07-07 08:27:21 回复(2)
Java

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 村上挪威

import java.util.Scanner; public class Main{     public static void main(String[]args){         Scanner in = new Scanner(System.in);         while(in.hasNextLine()){             String str1 = in.nextLine();             String str2 = in.nextLine();             SpliteString(str1);             System.out.println();             SpliteString(str2);         }     }     static void SpliteString(String str){      	   if(str.length() <= 8){                for(int i = 0;i < 8;i++)                    if(i < str.length())                    	System.out.print(str.charAt(i));                	   else                    	System.out.print("0");            }else{                for(int i = 0;i < 8;i++){                    System.out.print(str.charAt(i));                }                System.out.println();                SpliteString(str.substring(8));//递归,再判断除去前8个字符之后的长度是否大于8            } 	} }

2016-07-12 21:58:30 回复(2)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 山城小白
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
    int i,length,count;
    char str1[100],str2[100],cstr[9];
    
    while(scanf("%s",str1) != EOF){
       
        length = strlen(str1) ;
        
        for(i = 0; i < length; i++){
            if(i % 8 != 0)
                cstr[count++] = str1[i];            
            else{
                cstr[8] = ‘’;
                if(i != 0)
                    printf("%sn",cstr);
                count = 0;
                cstr[count++] = str1[i];
            }
        }
        while(i % 8 != 0){
            cstr[count++] = ‘0’;
            i++;
        }
        printf("%sn",cstr);
    }
    
    return 0;
}

2016-08-31 15:40:01 回复(1)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 Stayering
import java.util.Scanner;
public class Main{
    
   public static void main(String [] args) 
       {
       Scanner sc=new Scanner(System.in);
       String str1=sc.next();
       String str2=sc.next();
       task(str1);
       task(str2);
       sc.close();
   }
    
    
    private static void task(String str)
  {
        int n=str.length();
    
        int l=0;
        if(n%8>0)
            l=8-n%8;
        StringBuilder sb=new StringBuilder(str);
        while(l>0)
            {
            sb.append("0");
            l–;
        }
        
        int i=n/8+1;
        for(int j=0;j<i;j++)
            {
            if(j*8+8<=sb.length())
          { String s= sb.substring(j*8,j*8+8);
            System.out.println(s);
          }
        }
    }
           
    
}通过,no bug! 

2016-01-16 16:11:09 回复(2)
Python

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 RrrrZzzzz

def splitstr(str):         if(len(str)<=8):             n = 8- len(str)             print(str+ '0'*n)         else:             print(str[0:8])             str = str[8:]             splitstr(str) a=input('请输入第一个字符串:') b=input('请输入第二个字符串:') splitstr(a) splitstr(b)  

2018-07-25 15:42:57 回复(2)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 区块链毕设学生526055903号
/* Convert String in String array with element of 8 char length */  #include <stdio.h>  int main() {     char input;     int i = 0;      while ((input = getchar()) != EOF)     {         if (input != 'n')         {             putchar(input);             i++;         }         else if (i != 0)         {             while (i < 8)             {                 putchar('0');                 i++;             }         }         /* New line for Next Element in Array */         if (i == 8)         {              putchar('n');             i = 0;         }     }           return 0; }

2020-05-05 12:46:09 回复(0)
C/C++

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 QT菜鸡弟弟

#include <string> #include <iostream> using namespace std;  int main() {  //1.利用string类的  substr方法处理字符串    string str_in[2];    cin >> str_in[0] >> str_in[1];    for(int i = 0; i<2; i++)    {        string str = str_in[i];   //主要明白substr(起始位置,截取子字符窜个数)函数即可        while (str.size() > 8)        {            cout << str.substr(0, 8) << endl;             str = str.substr(8); //只有一个数字8表示从下标为8开始一直到结尾        }        cout << str.append(8 - str.size(), '0') << endl;    }     return 0; }

2019-09-14 12:40:39 回复(0)
•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;     •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。 漕河泾
我的第一个编程成功题目,😂😂😅

看到网上的答案基本没有找到用Python语言完成的,而本人主要使用Python,本来按照我的想法本地编译器通过了,在牛课上也不会通过,但是通过了……….哈哈哈哈哈

还有一个问题:题目说保存到数组,我突然懵逼了,Python的数组怎么定义,然后就
import numpy as np
np.array()………结果就错了
###############代码如下
def inputString():#键盘输入两个字符串

    str1 = str(input())
    str2 = str(input())
    return str1,str2

def splitString():
    s1,s2 = inputString()
    slist = [s1,s2]#用于遍历

    arr = []
    for i in slist:

        if len(i)<=8:
            arr.append(i+’0’*(8-len(i)))#8-len(i)就是补0的个数
        else:
            b=[i[i1:i1+8] for i1 in range(0,len(i),8)]#长度超过8,就将字符串按照8个8个的存放到列表b
            for j in b:#遍历8,前面的肯定都是8为,只有最后一个有可能不够8为
                arr.append(j + ‘0’*(8-len(j)))#前面够8为的 8-len(j) = 0,‘0’*0啥也没有,最后不够8为了再补0
    return arr
if __name__ == ‘__main__’:
    #ar = splitString()
    for i in splitString():
        print(i)
    

2019-05-30 21:10:07 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组; •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情