【HJ31】 单词倒排

2023-11-19

题目描述

对字符串中的所有单词进行倒排。
说明:
1、构成单词的字符只有26个大写或小写英文字母;
2、非构成单词的字符均视为单词间隔符;
3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;
4、每个单词最长20个字母;

数据范围:字符串长度满足 【1,10000】
输入描述:
输入一行以空格来分隔的句子

输出描述:
输出句子的逆序

示例1

输入:
I am a student
输出:
student a am I

示例2

输入:
$bo*y gi!r#l
输出:
l r gi y bo

题解思路

  1. 替换特殊字符
  2. 字符串分割
  3. 倒排

代码实现

#include <stdio.h>

int main()
{
    char str[10001];
    gets(str);
    int n = strlen(str);
    int i = 0;
    while(i < n) {
        if(!isalpha(str[i])) {
            str[i] = ' ';	// 替换
        }
        ++i;
    }
    char result[10001][21];
    char *substr = strtok(str, " ");            // 分割
    i = 0;
    while(substr != NULL) {
        strcpy(result[i++], substr);
        substr = strtok(NULL, " ");
    }
    for(int j = i - 1; j > 0; j--) {
        printf("%s ", result[j]);
    }
    printf("%s\n", result[0]);
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HJ31】 单词倒排 的相关文章

  • java操作RabbitMQ

    文章目录 一 基本消息模型 1 导入依赖 2 准备连接工具类 3 创建消息发送者 生产者 4 创建消息接受者 消费者 5 消息确认机制 ACK 二 Work queues 1 创建消息发送者 2 创建多个消息接受者 3 测试 4 设置能者多
  • QtIFW:制作程序安装包

    程序发布方式一般有两种 1 静态编译发布 这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中 其优势是简单单一 所有的依赖库都集中在一起 其缺点也很明显 可执行程序体量较大 2 制作安装包发布 这种方式的原理也简单 就是将

随机推荐

  • 输入延时(Input Delay)与输出延时(Output Delay)

    一 设置输入延时 Input Delay 1 不同的路径需要使用不同的约束 2 输入延时的定义 由下图可以看出Input Delay是以上游芯片的时钟发送沿为参考 上游的输出数据到达FPGA的外部输入端口之间的延迟 输入延迟 input d
  • 你也想拥有你的个人博客吗(阿里云域名+github方案+hexo)

    虽然平时学习有写笔记的习惯 可是都没有上传过 记录一下学习日常吧 以后也会更容易整理了 因为在每个版本 对各个设备的配置情况都有一些细小的区别 希望我的记录也同时可以帮助一下需要的朋友 现在的时间点是2020 9 28 我的电脑是 MacB
  • runtime属性的读与写

    文章目录 通过ivar读 写 举例 通过ivar读 写 这里以Person类为例 来看怎么对属性值进行操作 Person类有一个属性name property nonatomic copy NSString name 对应的变量名 name
  • Stream流还可以这样用,省时又省力,你不知道的去重方法,快来一起解决这道常见的面试题吧

    下面归纳出几种常见的去重方法 使用stream流collectingAndThen 根据某一属性去重 studentList studentList stream collect Collectors collectingAndThen C
  • Solidworks的simulation组合分析显示单独零件

    具体参考以下链接 https jingyan baidu com article f96699bbe98e8e894f3c1b59 html
  • QT QTabWidget

    QTabWidget 使用 1 1 ui界面添加tabWidget 想展示的Widget 1 2 TabWidget 动态添加tab 1 3 tabWidget 动态删除tab 1 4 TabWidget 获取所有tab的界面值 2 1 T
  • 设计模式--Abstract server模式 VS Adapter 模式

    适配器类似于现实世界里面的插头 通过适配器 我们可以将分属于不同类的两种不同类型的数据整合起来 而不必去根据某一需要增加或者修改类里面的方法 Adapter mode和Proxymode的区别 Proxy的关注点是职能转移 通过引入Prox
  • 单链表——多项式相加

    时间限制 1000ms 内存限制 256M 实验目的 编写代码 使用两个单链表表示下面的多项式 完成两个多项式相加 并输出相加后的多项式结果 实验要求 1 单链表的类型定义如下 typedef int datatype 结点数据类型 假设为
  • Linux学习(八):文件名的查找Find

    Find 一 时间维度 atime ctime mtime 以 mtime为例 mtime n n为数字 意义为在n天之前的 一天之内 被更改过的文件 mtime n 列出在n天之前 不包含n本身 被更改过的文件 mtime n 列出在n天
  • linux超级工具,linux运维超级工具--sysdig

    sysdig 是一个超级系统工具 它可以用来捕获系统状态信息 在运维工作中sysdig能很方便的排查异常 定位故障 它还能保存数据进行分析 并且提供强大的命令接口 在了解sysdig强大之处之前 首先得安装sysdig 我这里是环境是cen
  • 【计算机网络13】网络安全

    文章目录 1 HTTP协议的安全问题 2 单向散列函数 One way hash function 2 1 单向散列函数的特点 2 2 常见的几种单向散列函数 2 3 防止数据被篡改 2 4 几个网站 3 对称加密 Symmetric Cr
  • Filebench 使用手册

    Filebench 使用手册 介绍 Filebench 是一个文件系统和存储基准 可以生成各种各样的工作负载 与典型的基准测试不同 它非常灵活 允许使用其广泛的工作负载模型语言 WML 指定应用程序的 I O 行为 用户可以从头开始描述所需
  • 当矩阵的秩小于未知数的个数时,方程组有无数个解;当矩阵的秩等于未知数的个数时,方程组只有零解。...

    当矩阵的秩小于未知数的个数时 方程组有无数个解 当矩阵的秩等于未知数的个数时 方程组只有零解 转载于 https www cnblogs com 2019 02 11 p 10586212 html
  • springboot配置启动后自动打开浏览器访问项目

    springboot配置项目启动后自动打开浏览器访问项目 有时候在单机部署 或者项目没有在IDea 开发工具中运行 idea可以自动打开tomcat项目 需要项目启动后自动打开浏览器访问项目 配置方法很简单 一 具体步骤 所用到的代码只有下
  • QT在图片中间绘制文字,获取文字size 和 pos

    QFont ft this gt font 获取系统当前字体对象 ft setPixelSize 15 设置字体大小 QFontMetrics fm QFontMetrics ft 创建字体计算类 double pixW fm width
  • 【基础】Flink -- ProcessFunction

    Flink ProcessFunction 处理函数概述 处理函数 基本处理函数 ProcessFunction 按键分区处理函数 KeyedProcessFunction 定时器与定时服务 基于处理时间的分区处理函数 基于事件时间的分区处
  • 用vscode创建一个c项目_vscode怎样编写c程序

    一 获取C C 扩展 1 打开vscode 2 ctrl shift x打开商店 3 搜索C C 安装 重启vscode 二 安装GCC 1 下载MinGW 2 打开安装程序 安装到D盘 需要创建MinGW文件夹 安装完成之后生成MinGW
  • (手工)【sqli-labs32-38】宽字节注入、报错回显、字符/数字型注入

    目录 一 推荐 二 手工 SQL注入基本步骤 三 Less32 GET Bypass custom filter adding slashes to dangerous chars 3 1 简介 宽字节注入 报错回显 字符型注入 3 2 第
  • JVM简介说明

    转自 JVM简介说明 下文笔者讲述JVM的简介说明 如下所示 JVM简介 JVM的功能是Java应用程序的运行环境 它是Java虚拟机 JVM用于运行java的字节码文件 JVM可以将字节码转换为硬件 操作系统指令 JVM用于同操作系统内层
  • 【HJ31】 单词倒排

    题目描述 对字符串中的所有单词进行倒排 说明 1 构成单词的字符只有26个大写或小写英文字母 2 非构成单词的字符均视为单词间隔符 3 要求倒排后的单词间隔符以一个空格表示 如果原字符串中相邻单词间有多个间隔符时 倒排转换后也只允许出现一个