HJ96 表示数字

华为OD机试 -表示数字(C++ & Java & JS & Python) 将一个字符串中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。数据范围:字符串长度满足 1≤�≤100 1≤n≤100。字符中所有出现的数字前后加上符号“*”,其他字符保持不变。 阅读详情
描述
将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。

注意:本题有多组样例输入。
输入描述:
输入一个字符串

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

示例1
输入:
Jkdi234klowe90a3
5151
复制
输出:
Jkdi*234*klowe*90*a*3*
*5151*

起初思路不严谨,在遍历输入的子串时。可以选择仅在数字时判断或者仅在非数字时判断。若是判断的时机包含二者的话,很容易造成逻辑的混乱。
在遇到数字时,判断是否(第一个或者前面非数字),是的话先加一个 *,在复制数字字符。
在判断此数字是否(是最后一个元素或者后面非数字字符),是的话再补一个 *。
遍历,继续判断下一个字符。

#include <stdio.h>
#include <string.h>

#if 0
#define dbg printf
#else
#define dbg
#endif

int judge(char a)
{
    if(a>='0' && a<='9')
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

int main(void)
{
    char in[128] = {0};
    char out[128][128] = {0};
    int i, j, k;
    
    j = 0;
    while(scanf("%s", in) != EOF)
    {
        k = 0;
        for(i=0; i<strlen(in); i++)
        {
            if(judge(in[i])==1 && (i==0||(i>0&&judge(in[i-1])==0)))
            {
                out[j][k++] = '*';
                out[j][k++] = in[i];
                if(i==strlen(in)-1 || judge(in[i+1])==0)
                {
                    out[j][k++] = '*';
                }
            }
            else if(judge(in[i])==1 && ((i==strlen(in)-1)||((i<strlen(in)-1)&&judge(in[i+1])==0)))
            {
                dbg("(%d):i=%d, k=%d, in[%d]=%c\n", __LINE__, i, k, i, in[i]);
                out[j][k++] = in[i];
                out[j][k++] = '*';
            }
            else
            {
                out[j][k++] = in[i];
                dbg("(%d):j=%d, k=%d, in[%d]=%c, out[%d][%d]=%c\n", __LINE__, j, k, i, in[i], i, k-1, out[j][k-1]);
            }
        }
        j++;
        memset(in, 0, sizeof(in));
    }
    for(i=0; i<j; i++)
    {
        printf("%s\n", out[i]);
    }
    return 0;
}
【牛客网华为机试】HJ96 表示数字 题目 描述 将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。 注意:本题有多组样例输入。 输入描述: 输入一个字符串 输出描述: 字符中所有出现的数字前后加上符号“*”,其他字符保持不变 示例1 输入: Jkdi234klowe90a3 5151 输出: Jkdi*234*klowe*90*a*3* *5151* 解题思路 (1)遍历字符串,应函数isdigit判断是否为数字 (2)用flag判断是否为连续数字 (3)在result中对 阅读详情

相关推荐

【华为机试题 HJ96】表示数字

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

少年一贯快马扬帆,道阻且长不转弯; 要盛大,要绚烂,要哗然; 要用理想的泰坦尼克,去撞现实的冰川; 要当烧赤壁的风,而非借鉴草船; 要为了一片海,就肯翻万山。 498

华为机试题——HJ96 表示数字

描述 将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。 数据范围:字符串长度满足1 \le n \le 100 \1≤n≤100 输入描述: 输入一个字符串 输出描述: 字符中所有出现的数字前后加上符号“*”,其他字符保持不变 示例1 输入: Jkdi234klowe90a3 复制输出: Jkdi*234*klowe*90*a*3* #include <iostream> #include <string.h&g..

青云----小凡 354

【DDSCAT——离散偶极近似仿真程序04】参数理解和模型设计

在这一部分,我们开始理解DDSCAT程序设计中的一些参数问题。 承接第二部分内容中的ddscat.par文件,我们来聊一聊偶极子、实际体积、有效半径等关键词。 一、偶极子点阵 手册中说,我们需要设计模型(target/目标),它是有偶极子点阵组成的。偶极子,顾名思义,是由一对电荷组成的,但我们不用设计一对,我们设计一个点就行,...

XD_Yangf的博客 7551

牛客网|表示数字

题目信息 将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。 注意:本题有多组样例输入。 输入描述: 输入一个字符串 输出描述: 字符中所有出现的数字前后加上符号“*”,其他字符保持不变 示例输入 Jkdi234klowe90a3 5151 示例输出 Jkdi*234*klowe*90*a*3* *5151* 题解 通过题目和输入输出描述,可以得到以下信息 如果只有一个数字,前后都要加* 如果前字母,后数字,数字前加* 如果前数字,后数

蜗牛学习笔记 371

零基础Python实战:手把手教你用PyGame制作动态烟花效果(附完整代码)

本文为零基础Python编程爱好者提供了一份详细的PyGame实战教程,手把手教你从环境搭建到代码实现,逐步构建一个动态烟花模拟器。教程涵盖了粒子系统、物理模拟(重力与阻力)、效果优化(拖尾与爆炸形态)以及完整的交互式主程序,帮助你通过Python烟花代码项目深入理解图形编程与面向对象设计。

weixin_29062255的博客 256

LFM调制信号分类与检测识别

支持识别LFM信号、间歇采样干扰(ISRJ)、灵巧噪声干扰(SNJ)、扫频干扰(SJ)、瞄准干扰(AJ)、阻塞干扰(BJ)、密集假目标干扰(DFJ)、密集假目标加灵巧噪声干扰(DFWSNJ)、距离欺骗干扰(DDJ)、距离欺骗加灵巧噪声干扰(DDWSNJ)。Faster-RCNN支持检测识别LFM信号、间歇采样干扰(ISRJ)、灵巧噪声干扰(SNJ)、扫频干扰(SJ)、瞄准干扰(AJ)、密集假目标干扰(DFJ)、密集假目标加灵巧噪声干扰(DFWSNJ)、距离欺骗加灵巧噪声干扰(DDWSNJ)等8种信号。

菜yuan~的博客 1026

js 字符串中加入符号

1.一个数字字符串,从右到左每隔3位加入一个逗号(1234567890 --> 1,234,567,890)function hh(str){ if(/\./.test(str)){ return str.replace(/\d(?=(\d{3})+\.)/g, "$&,").replace(/\d{3}(?![,.]|$)/g, "$&,"); }else{ return

汉堡请不要欺负面条 1万+

(实战)[re:Invent 2018]-001:赛道分析-(致敬1024)

打印log

Rainbow 2778

前端常用的JavaScript函数封装方法

本文汇总了33个实用的JavaScript功能函数,涵盖资源加载、URL处理、本地存储、DOM操作、表单处理、正则验证、设备判断、数据类型转换等常见开发需求。这些函数经过优化改进,包括:修复语法错误、增强兼容性(如新增Clipboard API的降级方案)、完善错误处理、统一代码规范、优化性能表现等。典型函数包括:动态加载JS/CSS资源、获取URL参数、本地存储管理、AJAX封装、设备检测、文本复制、时间格式化、防抖节流等。这些经过实践检验的代码片段可直接用于项目开发,提高开发效率。

油墨香^-^的博客 1009

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

为减轻主核的负载率或者平衡各个核的资源分配,通常需要把一些MCU内部资源分配到从核上,在EB tresos工具中,通过ResourceM模块实现多核资源分配。

m0_38045338的博客 1386

Spring Security 珍藏版快速入门

文章目录一、前期配置二、Spring Security 测试三、案例:自定义页面(XML配置用户信息)三、案例:自定义页面(数据库存储用户信息) 一、前期配置 (1)pom.xml <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>${s

南淮北安的博客 632

java-HJ96_表示数字

java-HJ96 表示数字。

d3y1`5 81_09 190

在RStudio中使用GitHub Copilot:代码自动生成,从此告别手敲!

可以通过自定义提示词来引导Copilot生成符合自己需求的代码。再看一个做统计分析的。

Codewar的博客 330

机试刷题_HJ96表示数字【Java】

字符串

yuanyuet的博客 202

R语言绘制森林图

运行上述代码后,将会生成一个标题为"森林图示例"的森林图。通过以上代码示例,你可以根据自己的数据集和需求创建定制的森林图。在实际应用中,你还可以进一步调整图形的样式,添加图例、坐标轴标签等,以使森林图更加美观和易于理解。在数据可视化领域,森林图是一种常用的图形类型,用于展示多个分类变量之间的关系。本文将介绍如何使用R语言创建森林图,并提供相应的源代码示例。森林图通常由垂直的线段表示不同类别的观测值,并且线段的长度表示数值变量的大小。上述代码中,我们为不同的类别分别指定了蓝色和红色作为颜色映射关系。

TechNovaX的博客 1043

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

华为机试HJ96 表示数字

HJ96 表示数字-Python题目解题思路代码结果 题目 解题思路 1、有多组输入,需要循环 2、字符串挨个拿出,判断是否为数字。是数字,暂时保存的一个字符串中;不是数字,如果数字暂存字符串有内容,则前后加星号,先合并,再处理当前的非数字字符。最后多个字符为数字的话,最后再处理一次。 代码 def func(): s = input() # 结果字符串 res = "" # 保存找到的数字类型字符 nc = "" for c in s:

sea2017的博客 650

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

牛客网 HJ96 表示数字

牛客网 HJ96 表示数字 将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。 import re def deal_with(match): value="*"+match.group("value")+"*" return value def solution(): while 1: try: s=input().strip() s=re.sub(r"(?P<value>

weixin_42712416的博客 256

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[HJ96 表示数字]

HJ96 表示数字

小猪de博客 503

华为机试HJ96:表示数字

C++实现——表示数字

翟天保的博客 1万+

HJ96 表示数字 【python】

华为牛客机试 HJ96

Yorusimo的博客 271

HJ96:表示数字

题目描述 将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变 public static String MarkNum(String pInStr) { return null; } 注意: 输入数据可能有多行 输入描述: 输入一个字符串 输出描述: 字符中所有出现的数字前后加上符号“*”,其他字符保持不变。 思想:将输入的String字符串转成字符数组(使用toCharArray()),然后新建StringBuffer类,通过append()方法逐个加,当是数字的时候,前后增加“*”,其它

zhangkai's blog 658

华为机试HJ96表示数字

根据规则在数字前后增加*号即可。

qq_29787929的博客 226
上一篇: HJ95 人民币转换
下一篇: HJ97 记负均正(一开始审题不清粗心,导致错误)
你板子冒烟了
博客等级 码龄8年 1278粉丝 582原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值