当前位置: 首页 > news >正文

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

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

文章目录

    • 题目
    • 代码

题目

请编写程序,将给定字符串 s 中从第 pos 个字符开始的 len 个字符删除。

输入格式:
输入首先在一行中给出非空主串 s,不超过 1000 个字符,以回车结束(回车不算在字符串内)。第二行给出位序 pos 和待删除的字符个数 len(均为正整数,保证不超过 s 的长度)。

输出格式:
在一行中输出执行了删除后的结果字符串。

输入样例 1:
This is a test.
8 2

输出样例 1:
This is test.

输入样例 2:
This is a test.
8 12

输出样例 2:
This is

代码

#include <stdio.h>
#include <string.h>int main() {char s[1001];int pos, len;// 读取输入字符串fgets(s, sizeof(s), stdin);// 去除换行符if (s[strlen(s)-1] == '\n') {s[strlen(s)-1] = '\0';}// 读取删除位置和长度scanf("%d %d", &pos, &len);// 计算实际需要删除的字符数int actual_len = len;int str_len = strlen(s);if (pos + actual_len - 1 > str_len) {actual_len = str_len - pos + 1;}// 如果删除长度有效,则执行删除操作if (actual_len > 0) {// 将删除部分后的字符前移memmove(s + pos - 1, s + pos - 1 + actual_len, str_len - (pos - 1 + actual_len) + 1);}// 输出结果printf("%s\n", s);return 0;
}
http://www.dtcms.com/a/277629.html

相关文章:

  • Mybatis自动创建数据库表,并根据创建的表自动生成Mvc框架基础代码
  • WPS新版Latex公式改为显示样式,防止内嵌缩小
  • 清华北大西工大!具身导航最新综述
  • Git的常用操作
  • MYSQL笔记2
  • NW756NW815美光固态闪存NW821NW828
  • Switch表达式
  • 算法第三十二天--动态规划part01(第九章)
  • 苍穹外卖@RequestBody导错包导致接收不到传入参数
  • Linux锁的概念及线程同步
  • 互斥锁详解(操作系统os)
  • VUE3(二)、路由
  • 时序预测 | Pytorch实现CNN-KAN电力负荷时间序列预测模型
  • day16~17-系统负载高故障与磁盘管理
  • 【开源项目】拆解机器学习全流程:一份GitHub手册的工程实践指南
  • Dubbo-Admin 安装与使用指南:可视化管理 Dubbo 服务
  • 基于 SpringBoot 的 REST API 与 RPC 调用的统一封装
  • Linux操作系统之信号概念启程
  • Scrapy Spider深度解析:从基础到高级应用实战
  • 基于MATLAB的Lasso回归的数据回归预测方法应用
  • 【论文阅读】AdaptThink: Reasoning Models Can Learn When to Think
  • muduo概述
  • DVWA CSRF漏洞分析与利用
  • Leaflet面试题及答案(61-80)
  • 梯度下降算法:像下山一样找到最优解
  • opencv4.12 vs2022 cmake contrib编译
  • (一)SAP GROUP REPORTING(集团报表)集团财务合并解决方案套件
  • ERA5的UV合并成矢量并按时间维度转为nc或tif
  • Excalidraw:一款颠覆传统思维的免费开源绘图工具
  • 28.安卓逆向2-frida hook技术-逆向os文件(一)