作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。

注意:本题有多组样例输入。

输入描述:

输入一个字符串

输出描述:

字符中所有出现的数字前后加上符号“*”,其他字符保持不变

示例:

输入:

Jkdi234klowe90a3
5151

输出:

Jkdi*234*klowe*90*a*3*
*5151*

解题思路:

这题是字符串分析题。首先创建作为结果的字符串,设置标识符start,用来识别当前是否是连续数字状态;其次,遍历字符串,当发现字母且start为false时,直接将字母加到结果字符串的后方;遇到数字后,若start为false,说明这是数字的开头,先加*再加数字,然后start设true,之后碰上数字就只加数字;当再遇到字母后,说明连续数字结束了,先加*再加字母,start设false;最后别忘了判断下结尾是否为数字,因为上面的办法针对那种结尾是数字的情况,会少了一个*,若结尾为数字,再加个*就可以了。

测试代码:

#include <iostream>
#include <vector>
#include <string>using namespace std;int main()
{string str;while(getline(cin,str)){int size=str.size();bool start=false;string result;for(int i=0;i<size;++i){if(str[i]>='0'&&str[i]<='9'){if(start){result+=str[i];}else{result+='*';result+=str[i];start=true;}}else if(start){result+='*';result+=str[i];start=false;}else{result+=str[i];}}if(str[str.size()-1]>='0'&&str[str.size()-1]<='9')result+='*';cout<<result<<endl;}return 0;
}

华为机试HJ96:表示数字相关推荐

  1. 华为机试HJ11:数字颠倒

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0, ...

  2. 牛客网华为机试【表示数字】

    文章目录 题目描述 题目分析 java 代码 结果 题目描述 将一个字符中所有出现的数字前后加上符号"*",其他字符保持不变 public static String MarkNu ...

  3. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  4. 华为机试108题(C 语言解答)

    Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...

  5. (python)牛客网(华为机试四)——较难

    本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...

  6. 牛客网–华为机试在线训练9:提取不重复的数

    牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...

  7. 牛客网–华为机试在线训练4:字符串分隔

    牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...

  8. 【To Debug】牛客网--华为机试在线训练3:明明的随机数

    牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...

  9. 牛客网--华为机试在线训练2:计算字符个数

    牛客网–华为机试在线训练2:计算字符个数 题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 输入一个有字母 ...

最新文章

  1. 声场模型如何区分近场和远场
  2. 小程序onload_小程序生命周期-基础篇
  3. 【模拟】Ingenious Lottery Tickets
  4. 制作cab文件(Windows自带的makecab)
  5. resiprocate 之repro使用
  6. AI: 2021 年人工智能前沿科技报告(更新中……)
  7. base64格式的pdf预览
  8. Eclipse中开发测试脚本
  9. 计算机画图星星怎么画,教你尺规作图画五角星!
  10. Zynga公布2020年第二季度财务业绩
  11. Django(14)-应用及分布式路由
  12. 支付宝微信在刷脸支付领域两强争霸
  13. 基于颜色特征的图像检索(一)
  14. 禾穗HERS | 没人diss你,你就厉害了?
  15. WordPress教程:如何隐藏并替换WordPress管理路径?
  16. spring 多个数据库_在Spring使用多个数据库
  17. java 蓝桥杯 天干地支
  18. YOLO V1 实时的目标检测 论文翻译
  19. windows下pip下载库速度慢
  20. MSP430F5529库函数——模数转换模块(ADC12)软件触发

热门文章

  1. Java学习者的25个目标
  2. JAVA基础(一)——什么是java
  3. uefi和legacy的区别是什么
  4. 判断文件是否是PE文件
  5. 腾讯云个人账号如何多开注册8个新用户账号
  6. JavaScript实现动态添加员工信息
  7. 21秋期末考试工程项目管理10324k2 (2)
  8. 蝴蝶影视服务器响应异常,elasticsearch的服务器响应异常及解决策略(转)
  9. ibmx3400M3服务器装系统教程,免费安装系统!IBM x3400 M3不足1万2
  10. js写给定k个字符串数组,从这k个数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(不要使用库方法)