vivo2022届提前批校招笔试题

幸运员工

题目描述

选出工号中含有数字7或是7的倍数的幸运员工。

输入描述

一组空格分隔的员工工号列表

输出描述

幸运员工总人数,未找到时输出0

#include<iostream>
#include<string>
#include<cstring>
#include<vector>
using namespace std;class Solution {public:int findSeven(vector<int>& nums) {int count = 0;  //没有找到就返回0for (int x : nums) {if (x % 7 == 0) {//7的倍数count++;}else {//含有数字7while (x) {int m = x % 10;if (m == 7) {//x中一旦找到7就退出循环count++;break;}x /= 10;}}}return count;}
};int main() {string s;                     //保存从控制台输入的字符串vector<int> numbers;            //拆分后的数字getline(cin, s);while (!s.empty()) {int loc = s.find(" ");       //寻找空格在字符串s中的位置if (loc == string::npos) { //没有找到空格,说明到了最后一个位置numbers.push_back(stoi(s));   s.clear();break;    //清除字符串s并退出循环}string s_tmp = s.substr(0, loc); //从0开始往后数loc个字符numbers.push_back(stoi(s_tmp));s.erase(0, loc + 1);             //擦除从0开始往后数loc+1个字符,包括擦除空格}Solution sol;int res = sol.findSeven(numbers);cout << res << endl;
}

stringfind函数的返回值是查找字母在字符串中的位置。没有找到,则会返回npos

工号数字分为三种情况:

  1. 仅为7的倍数,如:105140
  2. 仅为含有7的数,如:105720、770251
  3. 既是7的倍数又是含有7的数,如:700000

第一种情况没有什么疑问,count只自增一个就进入下一个循环。

第二种情况要注意,一个号码里有多个7的情况,不要对count进行多次自增操作,具体做法就是一旦检测到7就及时进入下一个循环。

第三种情况,既是7的倍数又含有7,同样注意不要多次自增,具体解决方法就是将两种情况用if-else语句分割,确定这个数符合一种情况就及时进入下一个循环,避免重复计数。

C++:以空格分隔的字符串的输入输出相关推荐

  1. 24.shell中list详解,定义list,获取List的总个数,获取list的某个元素值,将list的每个元素转换成以空格分隔的字符串,空格分隔的字符串转换成list,for循环list

    文章目录 前言 定义list 获取List的总个数 获取list的某个元素值 将list的每个元素转换成以空格分隔的字符串 空格分隔的字符串转换成list for循环list 总结 友情链接 前言 s ...

  2. 每天一道LeetCode-----以单词为单位逆序字符串,每个单词之间以一个空格分隔(原字符串中可能有多个空格)

    Reverse Words in a String 原题链接Reverse Words in a String 将字符串以单词为单位逆序,每个单词之间以一个空格间隔(原字符串中可能有多个空格) 逆序的 ...

  3. php用空格分隔的字符串对比,探讨各种PHP字符串函数的总结分析

    PHP字符串函数包括查找字符位置函数:提取子字符函数:替换字符串:字符长度:比较字符函数:分割成数组字符:去除空格等等. PHP语言中的字符串函数也是一个比较易懂的知识.今天我们就为大家总结了将近12 ...

  4. python读取用空格分隔的文字_Python:从类似readlin的文件中读取空格分隔的字符串...

    您需要创建一个包装函数:这非常简单:def read_by_tokens(fileobj): for line in fileobj: for token in line.split(): yield ...

  5. java按空格分字符串,两种用空格分隔的java字符串的方式

    两种用空格分隔的java字符串的方式 两种方式: 1. String str = "123 456 789 111"; String [] strArray = str.split ...

  6. 把一个CString字符串以空格分隔成多个CString字符串

    一个CString字符串中含有多个空格分隔的小属性,如何把它以空格分隔成多个CString字符串. 例题:一个CString字符串:张三 20 四川 14478899@qq.com 如何把每一个小属性 ...

  7. php用一个或多个空格分隔字符串

    字符串:    php   用一个或多个空格      分隔 字符串 输出结果:php 用一个或多个空格 分隔 字符串 $str2="    php   用一个或多个空格      分隔 字 ...

  8. python一行输入多个值用空格隔开_2020-09-22-Python-函数嵌套、filter()函数、一行输入多个整数(空格分隔)、多维列表的输入...

    python笔记002----函数嵌套.filter()函数.一行输入多个整数(空格分隔).多维列表的输入 •字符串列表---内带2维列表 a=['123'] print(a[0][1]) for i ...

  9. 每天一道LeetCode-----将单词数组分成多行,每行长度相同,单词之间用空格分隔,要求空格尽量均匀分布

    Text Justification 原题链接Text Justification 将以这个字符串数组重组成几行,每个字符串用空格分隔,要求 每行的长度相同 每行的空格需要均匀分配,且每个单词之间至少 ...

  10. 信息学奥赛一本通 1026:空格分隔输出 | OpenJudge NOI 1.1 06

    [题目链接] ybt 1026:空格分隔输出 OpenJudge NOI 1.1 06:空格分隔输出 [题目考点] 1. 输入输出char, int, float, double类型的量 使用cin, ...

最新文章

  1. 英国继银行被窃之后 信贷公司Wonga数十万客户数据被泄
  2. 前紫光展锐CTO创业造芯:主打边缘AI视觉,融资10亿,9个月流片
  3. 赠书|大厂面试喜欢考算法,该怎么破?
  4. 关于IE记录Cookie的问题
  5. poj1797Heavy Transportation最大生成树
  6. android dp转px的公式_公式px到dp,dp到px android
  7. 为什么不能睁一只眼闭一只眼_自媒体人上哪里找非常多的原创短视频素材?我为什么一定要你做原创?...
  8. php 日期 间隔,PHP实现计算日期间隔天数的方法
  9. 机器人环境感知算法发展概述
  10. XML的DTD和Schema约束
  11. python初学入门————列表
  12. 【Unity3D开发小游戏】Unity3D开发《3D迷宫》小游戏
  13. v-charts 如何更改文本颜色
  14. 人机的未来关键在于发现新的逻辑体系
  15. 8个亿!河南首富再次无偿捐款西湖大学,西湖大学河南籍校董高达11位
  16. 计算机网络 5 - 链路层
  17. python 爬取贝壳网小区名称_用Python爬取贝壳网新房和二手房数据
  18. Java常用类,这一次帮你总结好!
  19. 系统报错信息:[0x7FFA30288660] ANOMALY: meaningless REX prefix used
  20. LeetCode每日一题,积少成多,量变到质变(最近比较忙不定期持续更新.........)

热门文章

  1. 解决在IE浏览器中JQuery.resize()执行多次的方法(转)
  2. U盘安装Debian 6 amd64版本
  3. java captivate_flashremoting-java-win-en.exe
  4. python抖音表白软件手机版,我喜欢你 抖音表白程序python版
  5. java 八进制 转义字符_string中转义字符
  6. java有多少类库_Java类库和常用类库有哪些以及相关的介绍
  7. php布署 群辉_docker一键搭建Nginx+PHP环境(含自动部署命令)
  8. 平衡二叉树、B树、B+树、B*树
  9. 什么是PM2 ---- (零秒重启)
  10. Oracle查询成绩高于成绩,oracle认证考试成绩如何查询?