【PTA数据结构 | C语言版】字符串插入操作

字符串的插入 题目描述 将一个字符串插入到另一个字符串当中。算法描述如下: 图:字符串插入算法 输入 输入包括多个测试样例,每个一行,包括两个字符串(stra,strb)和一个整数 i。字符串仅由英文大小写字母或数字组成。输入的字符串长度不超过127。 输出 将后一个字符串插入到前一个字符串的第i个字符前。输出插入后的结果后换行。 样例输入 strng 阅读详情

本专栏持续输出数据结构题目集,欢迎订阅。

文章目录

题目

请编写程序,将给定字符串 t 插入到另一个给定字符串 s 的第 pos 个字符的位置。

输入格式:
输入先后给出主串 s 和待插入的字符串 t,每个非空字符串占一行,不超过 1000 个字符,以回车结束(回车不算在字符串内)。第三行给出插入的位序 pos(注意位序从 1 开始,保证不超过 s 的长度加 1)。

输出格式:
在一行中输出将 t 插入 s 的第 pos 个字符的位置后的结果字符串。
如果插入后的字符串长度超过了 1000 个字符,则不要插入,而是在一行中输出 错误:插入将导致字符串长度超限。,并且在第二行输出原始主串 s。

输入样例:
This is a test.
simple-
11

输出样例:
This is a simple-test.

代码

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

#define MAX_LENGTH 1000

int main() {
    char s[MAX_LENGTH + 1], t[MAX_LENGTH + 1];
    int pos;

    // 读取主串 s
    fgets(s, MAX_LENGTH + 1, stdin);
    // 移除换行符
    if (s[strlen(s) - 1] == '\n') {
        s[strlen(s) - 1] = '\0';
    }

    // 读取待插入的字符串 t
    fgets(t, MAX_LENGTH + 1, stdin);
    // 移除换行符
    if (t[strlen(t) - 1] == '\n') {
        t[strlen(t) - 1] = '\0';
    }

    // 读取插入位置 pos
    scanf("%d", &pos);

    // 计算插入后的总长度
    int new_length = strlen(s) + strlen(t);

    if (new_length > MAX_LENGTH) {
        printf("错误:插入将导致字符串长度超限。\n");
        printf("%s\n", s);
    } else {
        // 创建临时数组存储结果
        char result[MAX_LENGTH + 1];
        
        // 复制 s 的前半部分(到 pos-1 位置)
        strncpy(result, s, pos - 1);
        result[pos - 1] = '\0';
        
        // 追加 t
        strcat(result, t);
        
        // 追加 s 的后半部分(从 pos 位置开始)
        strcat(result, s + pos - 1);
        
        printf("%s\n", result);
    }

    return 0;
}
使用insert函数Python——实现字符串插入操作 但是我们经常需要对字符串进行一些操作,比如插入(insert)操作,即在指定位置插入一个字符或字符串。除了插入单个字符外,还可以插入一个字符串,只需要将要插入的字符串作为参数传给obj即可。上述代码中,我们首先定义了一个字符串,然后使用insert函数在位置5插入了一个字符串“Python”,最后输出结果。其中,str表示要进行插入操作的字符串,index表示插入位置的索引,obj表示要插入的字符或字符串。上述代码中,我们首先定义了一个字符串,然后使用insert函数在位置5插入了一个逗号,最后输出结果。 阅读详情

相关推荐

C++字符串操作指南:插入与删除技术详解

本文还有配套的精品资源,点击获取 简介:本文介绍了C++中 std::string 类用于字符串插入和删除操作的方法,并通过示例代码进行了阐释。内容涵盖了 push_back 、 insert 、 erase 等函数的使用场景及其具体实现。同时,本文还包含了 main.cpp 示例代码分析,以及项目中常见...

weixin_42515340的博客 2718

字符串操作(3)----插入字符串

相当于把b分成b[0至pos-1]和b[pos至strlen(b)-1]两个子串,把a接到b[0至pos-1]后面,再把b[pos至strlen(b)-1]接到a后面。(4)strcat(ans,Substr(b,pos,strlen(b)-pos)),把b[pos至strlen(b)-1]复制到ans后面。插入操作输入待插入子串、目标字符串、指定位置,把待插入子串插入到目标字符串的指定位置前,并输出被插入后的目标字符串。(2)ans=Substr(b,0,pos),这里直接调用取子串函数,之前写过。...

智能小小鹤的博客 5155

PTA_C语言编程实验:有序数组插入与符号匹配

在当今的IT行业中,PTA(Programming Teaching Assistant)平台被广泛应用于编程教育和技能提升。PTA平台作为一种辅助教学和自我练习的工具,它通过在线编程题库和自动评测系统,为程序员和学生提供了实时反馈和实践机会,有助于提升解题和编程能力。PTA平台的核心优势在于能够提供大量的编程练习题,并即时给出结果反馈。这种及时性不仅缩短了学习周期,还提高了学习效率。此外,PTA通常还支持多语言编程,如C/C++、Java、Python等,满足不同开发者的需求。

weixin_31163455的博客 1068

第十五周OJ(6)将字符串插入到另一个字符串的指定位置(串)

/* 题目描述 将字符串t插入到字符串s中,在位置pos后插入。不得使用字符串操作函数,输出组合成的字符串。 输入 输入两个字符串(t和s)和要插入的位置(pos) 输出 输出组合后的字符串 样例输入 qwe jij 3 样例输出 jijqwe

wylno1的博客 3145

《点云处理算法》——GROR配准

GROR点云配准

阁楼 1315

2024高校网络安全管理运维赛题目--复现+题目+wp

官方writeup集思广益比较好的备份。

书山有路勤为径,学海无涯苦作舟 1323

【PTA数据结构 | C语言版】字符串插入操作(不限长)

请编写程序,将给定字符串 t 插入到另一个给定字符串 s 的第 pos 个字符的位置。输入格式:输入先后给出主串 s 和待插入的字符串 t,每个非空字符串占一行,长度无固定上限,以回车结束(回车不算在字符串内)。第三行给出插入的位序 pos,是 int 范围内的任意整数(注意正常的位序从 1 开始)。输出格式:在一行中输出将 t 插入 s 的第 pos 个字符的位置后的结果字符串。 如果插入的位序 pos 不合法,则不要插入,而是在一行中输出 错误:指定插入位置不存在。,并且在第二行输出原始主串

等风来 587

Prokka实战:10分钟搞定细菌基因组注释(附详细参数解析)

本文深入解析Prokka细菌基因组注释工具的核心参数与实战策略。通过拆解其集成化工作流程,详细解读物种分类、功能注释、输出控制等关键参数,并提供快速初筛、高质量发表、质粒注释及批量处理四种典型场景的高效参数组合方案,帮助用户精准掌控注释过程,将原始序列转化为有价值的生物学见解。

weixin_29271053的博客 442

【PTA数据结构 | C语言版】对二进制字符串解码

请编写程序,根据给定的字符和权重值序列,构建哈夫曼树,并将输入的二进制字符串解码输出。注意:因为哈夫曼编码是不唯一的,所以如果不严格按照指定方法生成哈夫曼树,则有可能无法正确解码。本题规定的哈夫曼树构建限制为:哈夫曼森林的所有根结点存为线性表,新的树根必须插入表头;每次取出权值最小的根结点时,若有并列,取最靠近表头的那个;对于每轮取出的两个根结点,第一个取出的为左子树,第二个取出的为右子树;二进制字符 0 对应树中的左分支;1 对应右分支。输入格式:输入首先给出一个正整数 n

等风来 677

[Arcgis插件分享]--在线地图、地图配色

插件介绍:MapOnline在线地图插件是一套由北京茗禾科技有限公司研发的基于ArcGIS的插件工具,用户通过注册“数据禾”网站,即可使用MapOnline实现各种在线地图资源的集成加载,以及网站共享资源的免费下载。包括:谷歌地图、谷歌地球(无偏)、高德地图、天地图(无偏)、搜搜地图、必应地图(无偏)、OSM地图(无偏)、Esri影像(无偏),以及自定义切片的加载。⑤在Arcmap操作窗口上方的菜单栏右键,调用「MapOnlinev1.2.4」②双击安装文件夹内的「MapOnline.esriAddIn」

weixin_59101151的博客 5764

关闭搜狗输入法右下角广告的解决方案

本文主要介绍了关闭搜狗输入法右下角广告的解决方案,希望能对使用搜狗输入法的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

【PTA数据结构 | C语言版】剪切粘贴

使用计算机进行文本编辑时常见的功能是剪切功能(快捷键:Ctrl + X)。请实现一个简单的具有剪切和粘贴功能的文本编辑工具。工具需要完成一系列剪切后粘贴的操作,每次操作分为两步:剪切:给定需操作的起始位置和结束位置,将当前字符串中起始位置到结束位置部分的字符串放入剪贴板中,并删除当前字符串对应位置的内容。例如,当前字符串为 abcdefg,起始位置为 3,结束位置为 5,则剪贴操作后, 剪贴板内容为 cde,操作后字符串变为 abfg。字符串位置从 1 开始编号。

等风来 561

【Pix4d精品教程】Pix4d空三后处理:点云分类与过滤、DSM精编生成DEM、生成等高线案例详解

本文详细介绍了利用Pix4D软件进行无人机摄影测量后处理的关键步骤,主要包括点云分类与分配、DEM精编生成和等高线绘制三个核心环节。首先通过点云分类区分地面、植被等7种地物类型,然后通过点云分配将地面点云归并到Ground类别,剔除植被等干扰要素。随后重新运行DSM生成步骤获取精确DEM,最后在附加输出中设置参数生成标准等高线。文中配有详细的操作截图和注意事项,如处理前需备份原始DSM/DOM数据,并解释了DEM与DSM的本质区别。该教程为无人机摄影测量内业处理提供了完整的解决方案。

智慧空间实验室 1万+

【PTA数据结构 | C语言版】拓扑排序

请编写程序,实现对有向无权图中的顶点进行拓扑排序的算法。注意:如果拓扑序不唯一,输出任何一个序列都可以,由特殊裁判程序判定正确性。输入格式:输入首先在第一行给出两个正整数,依次为当前要创建的图的顶点数 n(≤100)和边数 m。随后一行顺序给出 n 个顶点对应的字符串,由不超过 3 个英文字母或数字组成。接下来 m 行,每行给出一条有向边的起点编号、终点编号。顶点编号从 0 开始。同行数字和字符串均以一个空格分隔。

等风来 713

Codex入门00-初识神器(小白入门:到底什么是Codex CLI,和ChatGPT写代码有什么不同?)

OpenAI Codex CLI 是 OpenAI 于2025年推出的终端原生AI编程代理,不是在网页里聊天写代码,而是直接在你的终端里自主读代码、改文件、跑命令。它拥有三种安全模式、/goal 持久化任务、云端沙箱执行等独特能力。本文从零介绍 Codex CLI 的核心概念、与 ChatGPT 写代码的本质区别、典型使用场景和费用说明,让你全面认识这个改变开发方式的神器。

yueyeguzhuo的专栏 302

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

PTA 乙级难点(全部)

全部代码用的都是 C++

CourserLi的博客 5266

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

【PTA数据结构 | C语言版】垃圾分类

本题就请你现场实现一个简单的垃圾分类小助手。输入格式:输入首先给出官方分类指南中每种物品的归属。在一行中给出一个正整数 N(≤10^5),即物品数量;随后 N 行,每行给出一个物品名称(长度不超过 10 的、由小写英文字母和下划线组成的字符串)和该物品所属的分类(1 代表干垃圾、2 代表湿垃圾、3 代表可回收物、4 代表有害垃圾)。题目保证所有物品名称无重复。

等风来 607

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

PTA- jmu-ds-最长数字序列 (c语言版)

原题: 输入一个字符串,求该字符串中最长连续数字序列出现的起始位置及其长度。 输入格式: 输入一个字符串,可包含空格。 输出格式: 输出内容:最长数字序列起始位置和长度空格隔开。输出尾部不能有空格。输入空串,输出"NULL" 输入样例: 123ab12345a 输出样例: 5 5 正确代码如下: 其实拿数组做就可以,简单而且便捷,但是想拿线性表练手的话也可以, 傻逼P...

weixin_44157472的博客 1655

【PTA数据结构 | C语言版】构建后缀树

请编写程序,利用后缀树判断任一字符串是否给定字符串 s 的后缀。当然不用后缀树也可以解决,不过本题旨在训练后缀树的实现,所以建议读者尝试用后缀树解决这个问题。输入格式:输入首先给出一个仅由小写英文字母组成、长度不超过 1000 的字符串,以回车结尾。以上为给定字符串 s。接下来给出查询请求。首先给出一个正整数 n(≤1000),随后 n 行,每行给出一个仅由小写英文字母组成、长度不超过 1000 的字符串,以回车结尾。输出格式:对每个查询的字符串,如果它是给定字符串 s 的后缀,则在一行中输出 yes

等风来 424

PTA 浙大版《C语言程序设计实验与习题指导(第3版)》题目集(参考代码)

C语言PTA练习题 浙大版《C语言程序设计实验与习题指导(第3版)》题目集 寒假在家,想着吧PTA上的C语言练习题写写,博主初学C语言,其中有些代码写的可能有些令人费解甚至是让人笑话,但是这也是一个练习的过程。 注:其中有些题的代码参考了其他人。 题目号 题目名 实验1-1 Hello World! 实验1-2 Welcome to You! 实验1-3 Programming in C is fun! 实验1-4 输出三角形 实验1-5 输出菱形图案 实验1-6 输出带

Re:从零开始的代码生活的博客 7万+

PTA乙级 PAT (Basic Level) Practice C语言(完结)

PTA乙级习题1001 害死人不偿命的(3n+1)猜想1002 写出这个数1003 我要通过!1004 成绩排名1005 继续(3n+1)猜想1006 换个格式输出整数1007 素数对猜想1008 数组元素循环右移问题1009 说反话 链接 PTA乙级 1001 害死人不偿命的(3n+1)猜想 #include<stdio.h> #include<stdlib.h> int main(){ int n; if(scanf("%d",&n)){} int

weixin_46720804的博客 6578

【PTA数据结构 | C语言版】Windows消息队列

消息队列是 Windows 系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息连同表示此消息优先级高低的正整数(称为优先级值)加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入第 1 行给出正整数 n(≤10^5),随后 n 行,每行给出一个指令——GET 或 PUT,分别表示从队列中取出消息或将消息

等风来 479

SDUT PTA参考

PTA数组应用从键盘输入n(不超过100)个数存入一维数组a中,再将其中的数按相反的顺序存入数组b中并输出。找数:从键盘输入n个整数存放在数组中,输出能被3整除的数;若不存在,则输出“Not Exist.”数组元素输出数组元素求和找数评分数插入数组元素删除数组元素矩阵转置二维数组找最值指针应用插入新数一维数组找最大记录偶数个数逆序输出数组元素回文数二维数组每行最大值字符串处理字符数组排序判断是否为...

xwwwj的博客 8833

C语言错题集(LeetCode、MOOC、PTA、牛客网)

C语言错题集PTA 练习2-6 计算物体自由下落的距离 (5 分)输入格式:输出格式:练习2-12 输出华氏-摄氏温度转换表 (15 分)输入格式:输出格式:输入样例1:输出样例1:输入样例2:输出样例2:PTA 练习2-13 求N分之一序列前N项和 (15 分)输入格式:输出格式:输入样例:输出样例:PTA 习题5-2 使用函数求奇数和 (15 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PTA 习题5-4 使用函数求素数和 (20 分)函数接口定义:裁判测试程序样例:输入样例:输出样例:PT

nous_x的博客 7863

【PTA数据结构 | C语言版】迷你搜索引擎

实现一种简单的搜索引擎功能,快速满足多达 10^5 条关键字查询请求。输入格式:输入首先给出正整数 n(≤ 100),为文件总数。随后按以下格式给出每个文件的内容:第一行给出文件的标题,随后给出不超过 100 行的文件正文,最后在一行中只给出一个字符 #,表示文件结束。每行不超过 50 个字符。在 n 个文件内容结束之后,给出查询总数 m(≤10^5),随后 m 行,每行给出不超过 10 个英文单词,其间以空格分隔,每个单词不超过 10 个英文字母,不区分大小写。

等风来 367
上一篇: 【PTA数据结构 | C语言版】滑动窗口的极值
下一篇: 【PTA数据结构 | C语言版】字符串删除操作
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值