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

【PTA数据结构 | C语言版】字符串截取子串操作

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

文章目录

    • 题目
    • 代码

题目

请编写程序,截取给定字符串 s 中从第 pos 个字符开始的 len 个字符并输出。

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

输出格式:
在一行中输出截取到的字符串。

输入样例 1:
This is a test.
6 6

输出样例 1:
is a t

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

输出样例 2:
s a test.

代码

#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) {s[pos + actual_len - 1] = '\0';  // 截断字符串printf("%s\n", s + pos - 1);     // 从pos-1位置开始输出} else {printf("\n");  // 无字符可截取时输出空行}return 0;
}
http://www.dtcms.com/a/276990.html

相关文章:

  • ABP VNext + 多级缓存架构:本地 + Redis + CDN
  • ref 和 reactive
  • EWSGAN:自动搜索高性能的GAN生成器架构
  • LeetCode 1156.单字符重复子串的最大长度
  • 维基艺术图片: 数据标注 (2)
  • C语言基础教程(002):变量介绍
  • 一文读懂现代卷积神经网络—使用块的网络(VGG)
  • 基于Prompt结构的语校解析:3H日本语学校信息建模实录(4/500)
  • 08.如何正确关闭文件
  • 数智管理学(三十三)
  • 归并排序递归法和非递归法的简单简单介绍
  • Gin框架统一响应与中间件机制学习笔记
  • DH(Denavit–Hartenberg)矩阵
  • KL散度:信息差异的量化标尺 | 从概率分布对齐到模型优化的核心度量
  • 使用QtTest
  • 反激变换器设计全流程(一)——电路拓扑及工作流程
  • Chrome v109.0.5414.168 绿色便携版 Windows 7/2012R2 最终版 下载
  • 开发语言的优劣势对比及主要应用领域分析
  • GROW领导力模型
  • Unity物理系统由浅入深第四节:物理约束求解与稳定性
  • 【算法分析与设计】研究生第一次算法作业latex源码+pdf
  • docker容器高级管理-dockerfile创建镜像
  • 飞算 JavaAI 智能编程助手:颠覆编程旧模式,重构开发生态
  • Java小白-线程 vs 虚拟线程,Java并发的新旧对决
  • LeetCode--44.通配符匹配
  • Java4种设计模式详解(单例模式、工厂模式、适配器模式、代理模式)
  • Linux的 iproute2 配置:以太网(Ethernet)、绑定(Bond)、虚拟局域网(VLAN)、网桥(Bridge)笔记250713
  • 文心一言大模型4.5系列开源测评
  • 【Leetcode】2410. 运动员和训练师的最大匹配数
  • 预处理器完整功能介绍和示例演示(LESS/SCSS)