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

2025-03-11 学习记录--C/C++-PTA 习题11-5 指定位置输出字符串

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

在这里插入图片描述

裁判测试程序样例:

#include <stdio.h>

#define MAXS 10

char *match( char *s, char ch1, char ch2 );

int main()
{
    char str[MAXS], ch_start, ch_end, *p;
    
    scanf("%s\n", str);
    scanf("%c %c", &ch_start, &ch_end);
    p = match(str, ch_start, ch_end);
    printf("%s\n", p);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例1

program
r g

输出样例1

rog
rogram

输入样例2

program
z o

输出样例2

(空行)
(空行)

输入样例3

program
g z

输出样例3

gram
gram

二、代码(C语言)⭐️

char *match(char *s, char ch1, char ch2) {
    int i = 0, start_index;  // 初始化计数器 i 和变量 start_index(用于记录 ch1 的位置)
    while (s[i] != ch1) {    // 遍历字符串,直到找到字符 ch1
        if (s[i] == '\0') {  // 如果遍历到字符串结尾仍未找到 ch1,退出循环
            break;
        }
        i++;                // 移动到下一个字符
    }
    start_index = i;         // 记录 ch1 的位置(索引)

    // for 循环的初始化部分可以省略 i,因为 i 已经在 while 循环中初始化。
    for (; s[i] != '\0'; i++) {  // 从 ch1 的位置开始遍历字符串
        printf("%c", s[i]);       // 打印当前字符
        if (s[i] == ch2) {        // 如果遇到字符 ch2,退出循环
            break;
        }
    }
    printf("\n");                 // 打印换行符

    return s + start_index;       // 返回指向 ch1 位置的指针
}

在这里插入图片描述

在这里插入图片描述


http://www.kler.cn/a/582289.html

相关文章:

  • 详细介绍c++中的文件处理
  • nginx 代理 redis
  • git子仓库管理的两种方式
  • 从零开发Chrome广告拦截插件:开发、打包到发布全攻略
  • C++ 标准库:string 类、vector/List 容器与文件操作深度剖析
  • Android JNI二维码生成与优化方案
  • C语言_数据结构总结3:带头结点的单链表
  • deepseek R1提供的3d迷宫设计方案
  • 爬虫中一些有用的用法
  • PHP框架加载不上.env文件中的变量
  • Mysql 的 Query Cache为什么被废弃
  • Linux losetup循环设备
  • 阿里云ECS防勒索数据安全新选择:安当RDM防勒索组件——低成本、高可靠的主动防御方案
  • 网络防火墙是什么有什么用_网络防火墙:守护信息安全的重要屏障
  • 为你的python程序上锁:软件序列号生成器
  • 从零开始 | C语言基础刷题DAY1
  • 文件上传实验(upload-labs靶场实验)
  • 【Go沉思录】朝花夕拾:探究 Go 接口型函数
  • 烟火烟雾明火分割数据集labelme格式4065张2类别
  • Pycharm中脚本执行的3种模式——unittest框架、pytest框架及普通模式