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

HJ31 单词倒排

描述

对字符串中的所有单词进行倒排。

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

数据范围:字符串长度满足 1≤n≤10000
输入描述
输入一行,表示用来倒排的句子

输出描述
输出句子的倒排结果

示例1

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

示例2

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

实现

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>bool isCharNum(char c)
{if (((c >= 'a') && (c <= 'z')) || ((c >= 'A') && (c <= 'Z')))return true;elsereturn false;
}
int main() {char c;int sLen = 0;char s[10001][21] = {0};while (1) {int ret = scanf("%[^ \n]%c", s[sLen], &c);// printf("s: %s, len: %d, c: 0x%02x[0x%02x, 0x%02x], ret: %d\n", s[sLen], sLen, c, ' ', '\n', ret);sLen++;if (c == '\n') {break;}}// for (int i = 0; i < sLen; i++) {//     printf("%s ", s[i]);// }// printf("\n");for (int i = 0; i < sLen; i++) {int s1Len = strlen(s[i]);// printf("s: %s, len: %d\n", s[i], s1Len);for (int j = 0; j < s1Len; j++) {if (!isCharNum(s[i][j])) {s[i][j] = ' ';}}// printf("result = s: %s, len: %d\n", s[i], s1Len);}// for (int i = 0; i < sLen; i++) {//     printf("%s ", s[i]);// }// printf("\n");for (int i = sLen - 1; i >= 0; i--) {int s1Len = strlen(s[i]);char *pBuf = NULL;int m = -1;int cnt = 0;while ((pBuf = strrchr(s[i], ' ')) != NULL) {int curS1Len = strlen(s[i]);m = pBuf - s[i];// printf("pBuf: 0x%02x[0x%02x]. m = %d[%d]\n", *pBuf, '\0', m, curS1Len);if ((m + 1) != curS1Len) {  // 找到的' '不是字符串结尾printf("%s ", pBuf + 1);}m = pBuf - s[i];s[i][m] = '\0';  // 将' '换成结束符// printf("s: %s, len: %d\n", s[i], strlen(s[i]));}printf("%s ", s[i]); // 跳出while,说明没有' ',打印最后的字符串}printf("\n");
}

相关文章:

HJ31 单词倒排

描述 对字符串中的所有单词进行倒排。 说明&#xff1a; 1、构成单词的字符只有26个大写或小写英文字母&#xff1b; 2、非构成单词的字符均视为单词间隔符&#xff1b; 3、要求倒排后的单词间隔符以一个空格表示&#xff1b;如果原字符串中相邻单词间有多个间隔符时&#xf…...

leetcode——203.移除链表元素

文章目录&#x1f428;1.题目&#x1fa85;2.解法1-头节点迭代&#x1f33f;2.1 思路&#x1f33f;2.2 代码实现&#x1f986;3. 解法2-创建新链表&#x1f38f;3.1 思路&#x1f38f;3.2 代码实现&#x1f410;4. 题目链接&#x1f428;1.题目 给你一个链表的头节点head和一个…...

GPT-4来袭:开启人工智能新时代

文章目录介绍GPT4 模型演示示例示例 1示例 2示例 3示例 4示例 5最后Reference介绍 2023年3月15日&#xff0c;OpenAI公司正式发布了先进的自然语言处理模型GPT-4&#xff0c;前不久发布的GPT-3.5模型只能理解文字的语言模型&#xff0c;而新发布的GPT4则是多模态模型&#xff…...

芯微电子IPO终止:业绩开始大幅下滑,王日新、王苟新兄弟不同命

近日&#xff0c;深圳证券交易所披露的信息显示&#xff0c;黄山芯微电子股份有限公司&#xff08;下称“芯微电子”&#xff09;申请撤回发行上市申请文件。因此&#xff0c;深圳证券交易所决定终止对其首次公开发行股票并在创业板上市的审核。 据贝多财经了解&#xff0c;芯…...

【C++】用手搓的红黑树手搓set和map

目录 一、set/map的底层结构 1、set/map的源码 2、利用模板区分set/map 3、利用仿函数控制比较大小 二、set/map的迭代器&#xff08;红黑树的迭代器&#xff09; 1、红黑树的begin、end迭代器 2、红黑树迭代器的operator 3、红黑树迭代器的operator-- 三、set的const…...

【C++】空指针弃NULL用nullptr

空指针&#xff08;null pointer&#xff09;不指向任何对象&#xff0c;在试图使用一个指针之前代码可以首先检查它是否为空。声明空指针的3种方法&#xff1a; int* p1 NULL; int* p2 nullptr; int* p3 0; 在C语言中常用NULL生成空指针&#xff0c;NULL是一个宏&#xf…...

【selenium学习】数据驱动测试

数据驱动在 unittest 中&#xff0c;使用读取数据文件来实现参数化可以吗&#xff1f;当然可以。这里以读取 CSV文件为例。创建一个 baidu_data.csv 文件&#xff0c;如图所示&#xff1a;文件第一列为测试用例名称&#xff0c;第二例为搜索的关键字。接下来创建 test_baidu_da…...

嵌入式硬件电路设计的基本技巧

目录 1 分模块 2 标注关键参数 3 电阻/电容/电感/磁珠的注释 4 可维修性 5 BOM表归一化 6 电源和地的符号 7 测试点 8 网络标号 9 容错性/兼容性 10 NC、NF 11 版本变更 12 悬空引脚 13 可扩展性 14 防呆 15 信号的流向 16 PCB走线建议 17 不使用\表示取反 不…...

Spring MVC 图片的上传和下载

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…...

远程工具神器之MobaXterm (小白必看)

目录 1、介绍 2、ssh连接详解过程 3、特点 1、介绍 带有 X11 服务器、选项卡式 SSH 客户端、网络工具等的 Windows 增强型终端。 MobaXterm 是您远程计算的终极工具箱。在单个Windows应用程序中&#xff0c;它提供了大量功能&#xff0c;这些功能是为程序员&#xff0c;网站管…...

VRIK+Unity XR Interaction Toolkit 实现VR上半身的追踪(附带VRM模型导入Unity方法和手腕扭曲的解决方法)

文章目录&#x1f4d5;第一步&#xff1a;配置 OpenXR XR Interaction Toolkit 的开发环境&#x1f4d5;第二步&#xff1a;导入人物模型⭐VRM 模型导入 Unity 的方法&#x1f4d5;第三步&#xff1a;配置 VRIK⭐给模型加上 VRIK 组件⭐将模型的头部和手部的位置作为 VR 追踪目…...

【C++进阶】map的介绍和使用

文章目录map的介绍map的模板参数介绍map的容器介绍map重要容器接口的介绍及使用构造函数增删查改迭代器的使用map的介绍 map是关联容器&#xff0c;它按照特定的次序(按照key来比较)存储由键值key和值value组合而成的元素。在map中&#xff0c;键值key通常用于排序和惟一地标识…...

第十四届蓝桥杯三月真题刷题训练——第 15 天

目录 第 1 题&#xff1a;斐波那契与7 问题描述 答案提交 运行限制 代码&#xff1a; 第 2 题&#xff1a;小蓝做实验 问题描述 答案提交 运行限制 代码&#xff1a; 第 1 题&#xff1a;斐波那契与7 问题描述 斐波那契数列的递推公式为: FnFn−1Fn−2​, 其中 F1F21…...

HTML5是什么?怎么学习HTML5?

HTML5 是什么&#xff1f;HTML5是什么&#xff1f;相信这个问题并不容易回答&#xff0c;大多数人对于HTML5的概念仅仅是听说过而已&#xff0c;非要让他说出个所以然来&#xff0c;结果只能让你失望。相比普及了近十四年的HTML4来说&#xff0c;HTML5带来的震撼其实丝毫不亚于…...

个人算法题精简导航整理(精炼汇总,含知识点、模板题、题单)

文章目录前言导航注意事项技巧类自定义Pair排序N维数组转一维位运算状态压缩算法基础枚举 √指数型枚举排列型枚举组合型枚举模拟 √日期天数问题&#xff1a;平年闰年情况递归&分治 √贪心 √货仓选址-模板题排序 √归并排序前缀和&差分 √前缀和差分&#xff08;一维…...

Mac 和 Win,到底用哪个系统学编程?

今天来聊一个老生常谈的问题&#xff0c;学编程时到底选择什么操作系统&#xff1f;Mac、Windows&#xff0c;还是别的什么。。 作为一个每种操作系统都用过很多年的程序员&#xff0c;我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不…...

文心一言---中国版的“ChatGPT”狂飙的机会或许要出现了

⭐️我叫忆_恒心&#xff0c;一名喜欢书写博客的在读研究生&#x1f468;‍&#x1f393;。 如果觉得本文能帮到您&#xff0c;麻烦点个赞&#x1f44d;呗&#xff01; 近期会不断在专栏里进行更新讲解博客~~~ 有什么问题的小伙伴 欢迎留言提问欧&#xff0c;喜欢的小伙伴给个三…...

2023最全Python+Selenium环境搭建教程-你绝对想不到有这么简单!

还有视频版本结合项目实战介绍&#xff0c;轻松学习&#xff01; PythonSelenium自动化测试环境搭建Web自动化测试全套教程_哔哩哔哩_bilibiliPythonSelenium自动化测试环境搭建Web自动化测试全套教程共计180条视频&#xff0c;包括&#xff1a;1、Web自动化测试需求和挑战、2…...

JavaSe第10次笔记

1.Java中&#xff0c;static不能修饰局部变量。 2.构造代码块&#xff1a;可用于成员变量的赋值&#xff0c;但需要注意的是&#xff0c;构造代码块最先执行(比构造方法先)。 3.静态代码块(可用于静态成员变量赋值)&#xff1a;写法如下 static { 静态成员操作; } (比构造…...

【C语言笔记】自定义类型全解

【C语言笔记】自定义类型全解一、结构体1、什么是结构体2、结构体的声明与定义2.1、结构体的声明2.2、对结构体成员的访问2.3、对结构体成员的初始化2.4、结构体的不完整声明2.5、结构体嵌套定义3、结构体的自引用3.1、错误的自引用3.2、正确的自引用4、结构体大小的计算4.1、结…...

分布式系统CAP理论之如何取舍

在分布式系统中&#xff0c;CAP 理论 是一个基石性、指导性的理论&#xff0c;它告诉我们&#xff1a;在设计分布式系统时&#xff0c;无法同时满足三个核心特性&#xff0c;只能在三者之间做权衡。&#x1f310; 一、CAP 理论的三个字母代表什么&#xff1f;字母含义说明CCons…...

别再盲目调大`--max-memory`!Python服务成本失控的真正元凶藏在这3个被忽略的`__slots__`陷阱里

第一章&#xff1a;Python智能体内存管理策略成本控制策略Python智能体在长期运行、多任务并发或高频率推理场景下&#xff0c;内存使用易呈指数级增长&#xff0c;导致OOM异常与推理延迟上升。有效的内存管理不仅是稳定性保障&#xff0c;更是降低云资源成本的关键杠杆。核心策…...

Windows热键冲突终结者:Hotkey Detective让键盘操作回归掌控

Windows热键冲突终结者&#xff1a;Hotkey Detective让键盘操作回归掌控 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 当…...

一键切换模型:OpenClaw同时管理多个SecGPT-14B实例

一键切换模型&#xff1a;OpenClaw同时管理多个SecGPT-14B实例 1. 为什么需要管理多个模型实例 去年我在搭建本地AI安全分析系统时&#xff0c;遇到了一个典型困境&#xff1a;当SecGPT-14B模型需要版本升级时&#xff0c;整个服务必须停机。更糟的是&#xff0c;有次模型推理…...

数据处理的艺术:Pandas中的字符串操作

在数据分析和处理的过程中,经常会遇到需要对数据框中的字符串进行复杂操作的情况。本文将通过一个具体的实例,展示如何使用Pandas库来处理字符串列表、去重、合并和计数等操作。 问题背景 假设我们有一个数据框,其中包含一个名为REFIX_LIST的列,该列每个单元格包含由逗号…...

最新短网址系统源码 短网址源码 分用户链接 全新UI短网址源码

最新短网址系统源码 分用户链接 简单介绍一下这个短链接源码&#xff0c;这个是我根据自己需要自建的&#xff0c;偏向于个人需求的完成 说一下特点吧&#xff0c;短链接格式如同https://域名/0810a7/tlWl6y&#xff0c;其中0810a7区分用户&#xff0c;tlWl6y是短链接的短码 …...

嵌入式面试最重要的是项目经历

很多嵌入式应届生面试&#xff0c;我发现大家都挂在同一个地方 项目一开口&#xff0c;就让人听不下去了。 不是项目太少&#xff0c;而是项目太普通。 不是完全没做&#xff0c;而是讲不出自己到底做了什么。 不是技术栈不对&#xff0c;而是没法证明你的能力真的能落到工作里…...

10分钟零成本搭建KIMI AI免费API:个人智能助手完整指南

10分钟零成本搭建KIMI AI免费API&#xff1a;个人智能助手完整指南 【免费下载链接】kimi-free-api &#x1f680; KIMI AI 长文本大模型逆向API【特长&#xff1a;长文本解读整理】&#xff0c;支持高速流式输出、智能体对话、联网搜索、探索版、K1思考模型、长文档解读、图像…...

贾子哲学思想理论体系研究:学术贡献、实证争议与文明治理范式创新——基于鸽姆智库创始人贾龙栋的综合评估

贾子哲学思想理论体系研究&#xff1a;学术贡献、实证争议与文明治理范式创新——基于鸽姆智库创始人贾龙栋的综合评估摘要 本文系统梳理鸽姆智库创始人贾龙栋&#xff08;笔名贾子&#xff09;的学术背景及其创立的贾子哲学思想理论体系。该体系以“1-2-3-4-5”层级架构为核心…...

CSS动画实战:5分钟搞定微信语音发送震动效果(附完整代码)

CSS动画实战&#xff1a;5分钟实现语音波形震动效果 最近在做一个社交类项目时&#xff0c;产品经理突然提出要在语音消息发送时加入波形动画效果&#xff0c;要求"要有微信那种专业感"。作为前端开发者&#xff0c;我第一反应就是&#xff1a;这得用Canvas吧&#x…...