博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为机考题 004字符串分割
阅读量:7217 次
发布时间:2019-06-29

本文共 1428 字,大约阅读时间需要 4 分钟。

转自:http://blog.csdn.net/sxl_545/article/details/52412203

标签: 
 分类:
华为机考刷题(3) 
 

目录

 

题目描述

•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(输入2次,每个字符串长度小于100)

输出描述:

输出到长度为8的新字符串数组

输入例子:
abc123456789
输出例子:
abc000001234567890000000
[cpp]   
 
  1. #include<iostream>  
  2. #include<string>  //注意:是string,不是string.h  
  3. using namespace std;  
  4.    
  5. int main()  
  6. {  
  7.     string str1,str2;  
  8.     getline(cin,str1);  
  9.     getline(cin,str2);    
  10.    
  11.     int len1=str1.length();//获取字符串长度  
  12.     if(0!=len1%8)//第一种情况:字符串的长度不是8的整数倍,需要先补0,再分割  
  13.     {  
  14.         str1.resize(len1+8-len1%8,'0');//将不足的部分加上0,resize函数原型void resize(int len,char c),把当前字符串的大小置为n,并用字符c填充不足的部分  
  15.         for (int i=0;i<str1.length()/8;i++)  
  16.         {  
  17.             cout<<str1.substr(i*8,8)<<endl;//substr的函数原型string substr(int pos,int n)const;返回从pos开始的n个字符组成的子串。  
  18.         }  
  19.     }  
  20.     else if (0==len1)//第二种情况:字符串为空,不做处理,直接输出  
  21.     {  
  22.         cout<<str1;  
  23.     }  
  24.     else<span style="white-space:pre">    </span>//第三种情况:字符串的长度为8的整数倍,分割之后输出  
  25.     {  
  26.         for (int i=0;i<str1.length()/8;i++)  
  27.         {  
  28.             cout<<str1.substr(i*8,8)<<endl;  
  29.         }  
  30.     }  
  31.            
  32.    
  33.     int len2=str2.length();  
  34.     if(0!=len2%8)  
  35.     {  
  36.         str2.resize(len2+8-len2%8,'0');  
  37.         for (int i=0;i<str2.length()/8;i++)  
  38.         {  
  39.             cout<<str2.substr(i*8,8)<<endl;  
  40.         }  
  41.     }  
  42.     else if(0==len2)  
  43.     {  
  44.         cout<<str2;    
  45.     }  
  46.     else  
  47.     {  
  48.         for (int i=0;i<str2.length()/8;i++)  
  49.         {  
  50.             cout<<str2.substr(i*8,8)<<endl;  
  51.         }  
  52.     }  
  53.        
  54.     return 0;  
  55. }  

 

这个程序让我熟悉了string类的使用。

参考博客:

http://blog.csdn.net/yzl_rex/article/details/7839379

这篇博客详细介绍了string类的常用函数,并且附带程序。

转载于:https://www.cnblogs.com/DoLittleDo/p/5853881.html

你可能感兴趣的文章
zabbix使用zabbix 数据库做数据分表
查看>>
Oracle 11g dataguard三种模式以及实时查询(Real-time query)功能设置
查看>>
exchange 2013 lesson 6 CAS HA installing
查看>>
Groovy中的闭包
查看>>
Alibaba Cloud Launches Dual-mode SSD to Optimize Hyper-scale Infrastructure Performance
查看>>
数字签名和数字证书详解
查看>>
用来代替SQUID的软件VARNISH
查看>>
每天学一点Scala之 伴生类和伴生对象
查看>>
http反向代理调度算法追朔
查看>>
做门户网站 个人站长的新好出路
查看>>
sql中exists,not exists的用法
查看>>
CentOS6.5更改ssh端口问题
查看>>
11g默认审计选项
查看>>
Where Did That New Exchange 2010 Mailbox Go?
查看>>
CentOS 7 yum安装Zabbix
查看>>
Bash编程入门
查看>>
神器:REST测试工具[wiztools.org restclient]客户端Jar依赖Java安装环境
查看>>
生成keystore是报错拒绝访问(已测试)
查看>>
从一道题浅说 JavaScript 的事件循环
查看>>
每天进步一点点——Linux文件锁编程flock
查看>>