华为机试HJ96:表示数字
作者:翟天保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:表示数字相关推荐
- 华为机试HJ11:数字颠倒
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0, ...
- 牛客网华为机试【表示数字】
文章目录 题目描述 题目分析 java 代码 结果 题目描述 将一个字符中所有出现的数字前后加上符号"*",其他字符保持不变 public static String MarkNu ...
- Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题
接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题 HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...
- 华为机试108题(C 语言解答)
Nowcoder题库链接:华为机试 HJ1 字符串最后一个单词的长度(字符串) 输入:hello nowcoder输出:8说明: 最后一个单词为nowcoder,长度为8 示例代码: HJ1.c #i ...
- (python)牛客网(华为机试四)——较难
本博客为博主解题的部分记录,由于均为自己写的,所以答案并非最优解,有很多地方可以优化. 其他题解合集: (python)牛客网(华为机试一)--入门 (python)牛客网(华为机试二)--简单 (p ...
- 牛客网–华为机试在线训练9:提取不重复的数
牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...
- 牛客网–华为机试在线训练4:字符串分隔
牛客网–华为机试在线训练4:字符串分隔 题目描述 •连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组: •长度不是8整数倍的字符串请在后面补数字0,空字符串不处理. 输入描述: 连续输 ...
- 【To Debug】牛客网--华为机试在线训练3:明明的随机数
牛客网–华为机试在线训练3:明明的随机数 题目描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字, ...
- 牛客网--华为机试在线训练2:计算字符个数
牛客网–华为机试在线训练2:计算字符个数 题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数.不区分大小写. 输入描述: 输入一个有字母 ...
最新文章
- 声场模型如何区分近场和远场
- 小程序onload_小程序生命周期-基础篇
- 【模拟】Ingenious Lottery Tickets
- 制作cab文件(Windows自带的makecab)
- resiprocate 之repro使用
- AI: 2021 年人工智能前沿科技报告(更新中……)
- base64格式的pdf预览
- Eclipse中开发测试脚本
- 计算机画图星星怎么画,教你尺规作图画五角星!
- Zynga公布2020年第二季度财务业绩
- Django(14)-应用及分布式路由
- 支付宝微信在刷脸支付领域两强争霸
- 基于颜色特征的图像检索(一)
- 禾穗HERS | 没人diss你,你就厉害了?
- WordPress教程:如何隐藏并替换WordPress管理路径?
- spring 多个数据库_在Spring使用多个数据库
- java 蓝桥杯 天干地支
- YOLO V1 实时的目标检测 论文翻译
- windows下pip下载库速度慢
- MSP430F5529库函数——模数转换模块(ADC12)软件触发