前言:为了让小伙伴更方便的学习编程语言,小白每天都会分享一道编程题。小白也创建了一个微信公众号,会同步更新题目和相关的视觉领域的知识,如果小伙伴不方便在网页上阅读文章,可以关注微信公众号“小白学视觉”。完全由高校在读学生运行。

公众号目前有“机器视觉”板块、“每日一题”板块和“书籍分享”板块,期待着小伙伴的关注。


作者:小白

公众号:小白学视觉

编程是很多偏计算机、人工智能领域必须掌握的一项技能,此编程能力在学习和工作中起着重要的作用。因此小白决定开辟一个新的板块“每日一题”,通过每天一道编程题目来强化和锻炼自己的编程能力(最起码不会忘记编程)

特别说明:编程题来自“牛客网”和“领扣”以及热心小伙伴的题目。由于小白有时想锻炼某一类编程方法,所以提供的代码不一定是最优解,但是本文提供的编程代码均为通过测试代码。

字符串拆分

题目描述

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

输入描述

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

输出描述

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

示例1

输入

abc

123456789

输出

abc00000

12345678

90000000

解析:

本题的目的是将字符数分解成多个长度为8的子字符串,对不足8个的情况,用“0”来填充补齐长度8.因此我们需要判断字符串长度除以8之后的商和余数。如果余数不为零,则说明原字符串肢解之后需要用“0”来补齐。关键问题是如何确定从哪里分割,这里可以使用迭代器来实现字符串的分解。另外从输入示例可以看出,两个字符串的长度是分开记算。我们将分解后的子字符串放在vector容器内,方便之后的输出。

代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;int main()
{string str;while (cin>>str){vector<string> v_str;if (str.empty())continue;int n=str.size()/8;int m=str.size()%8;for (int i = 0; i < n; i++){v_str.push_back(string(str.cbegin() + i * 8, str.cbegin() + i * 8 + 8));}if (m>0){string str_sub(str.begin() + n * 8, str.end());for (int i = 8 - m; i != 0; i--){str_sub = str_sub + "0";}v_str.push_back(str_sub);}for (auto i : v_str){cout << i << endl;}}return 0;
}

运行结果

每日一题(字符串拆分)相关推荐

  1. 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十七天 题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/ 题解汇总:https:// ...

  2. 【解题报告】Leecode 859. 亲密字符串——Leecode每日一题系列

    今天是坚持每日一题打卡的第二十四天 题目链接:https://leetcode-cn.com/problems/buddy-strings/ 题解汇总:https://zhanglong.blog.c ...

  3. 【JAVA】交错字符串——力扣每日一题(六)(2020.07.18)

    目录 题目:97. 交错字符串 思路 如果你从本文中学习到丝毫知识,那么请您点点关注.点赞.评论和收藏 大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非常渴望优秀,羡慕优秀的人,个人博 ...

  4. LeetCode每日一题——1758. 生成交替二进制字符串的最少操作数

    LeetCode每日一题系列 题目:1758. 生成交替二进制字符串的最少操作数 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个仅由字符 '0' 和 '1' ...

  5. leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树

    leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...

  6. 每日一题:为什么要进行系统拆分?

    原文来自 GitHub 开源社区 Doocs,欢迎 Star 此项目,如果你有独到的见解,同样可以参与贡献此项目. 面试题 为什么要进行系统拆分?如何进行系统拆分?拆分后不用 dubbo 可以吗? 面 ...

  7. LeetCode每日一题——1684. 统计一致字符串的数目

    LeetCode每日一题系列 题目:1684. 统计一致字符串的数目 难度:简单 文章目录 LeetCode每日一题系列 题目 示例 思路 题解 题目 给你一个由不同字符组成的字符串 allowed ...

  8. 每日一题——反转字符串中的单词

    每日一题 反转字符串中的单词 题目链接 思路(进阶) 我们首先不考虑太多限制因素,先看如何实现字符串中单词的反转 举个例子:我们要反转字符串"the sky is blue"中的单 ...

  9. 《每日一题》842. Split Array into Fibonacci Sequence 将数组拆分成斐波那契序列

    给定一个数字字符串 S,比如 S = "123456579",我们可以将它分成斐波那契式的序列 [123, 456, 579]. 形式上,斐波那契式序列是一个非负整数列表 F,且满 ...

最新文章

  1. 简述linux各个组成部分的定义及功能,Mariadb的架构及相关概念
  2. python 对角化 特征值 特征向量
  3. C++模板中的函数式参数
  4. Linux系统灾难恢复技术和方法-[3]
  5. html加载less,javascript – 动态加载less.js规则
  6. 值转换成布尔类型的False;
  7. hexo+github+hexo-theme-matery搭建个人免费博客
  8. webpack5不要再用url-loader了
  9. *.sln和*.suo文件的作用
  10. Hide()方法不生效
  11. Easy Building Redis-cluster (轻松搭建reids集群)
  12. 怎么把kux格式转换成mp4?优酷kux格式转换成mp4的技巧
  13. 四川自考计算机信息管理专业,计算机信息管理专业2019年10月四川自考科目及考试时间[本科]...
  14. Gxlcms有声小说系统/小说听书系统源码
  15. 新浪微博视频下载教程
  16. 【SAP GUI Scripting】 入门系列(1)_基本设置
  17. mysql截取邮箱后缀_截取邮箱格式以及统计邮箱总数
  18. 华为v65智能屏搭载鸿蒙咯嘛,华为智慧屏V65深测:真智慧or增智慧?
  19. layui表单离焦验证
  20. 为什么说新一代华为MateBook E是当下最能打的二合一装备

热门文章

  1. 专访英特尔AIPG全球研究负责人Casimir Wierzynski:物理学、隐私和大脑将根本性塑造AI...
  2. 学习这么多算法到底在解决哪些问题?深度学习之外,我们要选择谁?
  3. 云从科技完成B+轮超10亿元融资,多个国家基金进入
  4. Transformer新型神经网络在机器翻译中的应用 | 公开课笔记
  5. 车载微信要来了?马化腾:正研发纯语音交互接口
  6. 机器学习101:我们天天都在说的机器学习,究竟该怎么入门?
  7. 推荐一款神级 API 接口管理神器
  8. 价值60W 的字节工牌,面试太卷了...
  9. 盘点 HashMap 源码中的那些优雅的设计!
  10. 用好 Git 和 SVN,轻松驾驭版本管理