C语言 ——— 将一句英语短句中的单词进行倒置

目录

题目要求

代码实现


题目要求

将一句英语短句中的单词进行倒置,标点符号不倒置

如:

输入:"I like chongqing very much,"

输出:"much, very chongqing like I"


代码实现

#include<stdio.h>
#include<string.h>
//逆置函数
void reverse(char* left, char* right)
{while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}
int main()
{//输入char arr[100];gets(arr);//逆置字符串int len = strlen(arr);reverse(arr, arr + len - 1);//逆置各个单词char* start = arr;char* cur = arr;while (*cur != '\0'){//找到每个单词的尾地址while (*cur != ' ' && *cur != '\0')cur++;//逆置每个单词reverse(start, cur - 1);start = cur + 1;if (*cur == ' ')cur++;}//输出printf("%s\n", arr);return 0;
}

代码解析: 

先逆置整个字符串,再逆置各个单词

举例说明:

"I like chongqing very much,"

逆置整个字符串

",hcum yrev gniqgnohc ekil I"

逆置各个单词

"much, very chongqing like I"

解析:void reverse(char* left, char* right)

封装一个逆置函数,用来逆置 整个字符串各个单词

解析:int len = strlen(arr);

字符串的长度

解析:reverse(arr, arr + len - 1);

逆置整个字符串,传递字符串的 起始地址arr,和字符串的 结束地址arr + len(字符串长度) - 1

解析:while (*cur != '\0') 及内部循环

start指针 指向单词首地址,cur指针 找空格,找到空格后利用 reverse函数 逆置

逆置完一个单词后,start指针 指向下一个单词的首地址,利用外部 while循环cur指针 重复找空格,最后完成所有单词的逆置 

代码验证:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MyBatis where标签替换WHERE 1 = 1会提升性能吗

MyBatis <where>标签替换WHERE 1 1会提升性能吗 查看项目早期数据库查询语句时&#xff0c;发现很多地方写了WHERE 1 1&#xff0c;怀疑这里有性能损失&#xff0c;想替换成<where>标签。 验证 已知索引 CREATE INDEX BP_LOG_BP_DATE_IDX ON QXX.BP_LOG (BP_…

java实战项目-学生管理系统(附带全套源代码及其登录注册功能的实现)--《进阶篇》

一、前言 新增了登录注册的功能&#xff0c;代码量可能会有点大&#xff0c;所有代码加起来差不多560行。这个项目对于小白来说肯定是一大难关了。文章中的每张图都是作者亲手绘制的&#xff0c;简单明了&#xff0c;如果大家认同作者&#xff0c;希望可以支持一下作者。全套源…

Mysql-索引应用

目录 索引应用 MySQL有哪些索引? 普通索引和唯一索引有什么区别? 哪个更新性能更好? 、 聚簇索引的主键索引怎么设置? 追问:假如你不设置会怎么样? 我们一般选择什么样的字段来建立索引? 索引越多越好吗? 索引怎么优化? &#xff08;覆盖索引优化、防止索引失效、…

论文翻译 | LEAST-TO-MOST: 从最少到最多的提示使大型语言模型中的复杂推理成为可能

摘要 思维链提示&#xff08;Chain-of-thought prompting&#xff09;在多种自然语言推理任务上展现了卓越的性能。然而&#xff0c;在需要解决的问题比提示中展示的示例更难的任务上&#xff0c;它的表现往往不佳。为了克服从简单到困难的泛化挑战&#xff0c;我们提出了一种新…

华为认证的证书有哪些?

华为认证的证书体系丰富多样&#xff0c;涵盖了多个技术领域和不同的认证级别。以下是对华为认证证书的主要分类和特点的归纳&#xff1a; 一、认证等级 技术认证是华为认证体系中的核心部分&#xff0c;主要分为以下三个级别&#xff1a; HCIA&#xff08;华为认证初级&…

算法的时间复杂度和空间复杂度-概念

一、算法效率 算法在编成可执行程序后&#xff0c;运行时需要耗费时间资源和空间&#xff08;内存&#xff09;资源&#xff0c;因此衡量一个算法的好坏&#xff0c;一般是由时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度。 时间复杂度主要衡量算法运行的…

3.3、matlab彩色图和灰度图的二值化算法汇总

1、彩色图和灰度图的二值化算法汇总原理及流程 彩色图和灰度图的二值化算法的原理都是将图像中的像素值转化为二值(0或1),以便对图像进行简化或者特定的图像处理操作。下面分别介绍彩色图和灰度图的二值化算法的原理及流程: 1)彩色图的二值化算法原理及流程 (1)原理:…

快速在springboot项目中应用EasyExcel

目录 ​编辑一、介绍 二、准备工作 三、初始化项目 3.1 创建项目 3.2 引入依赖 3.3 创建数据库和数据表 3.4 编写application.properties文件 四、开始编写 4.1 目录结构 4.2 MyBatis配置类 4.3 用户实体类 4.4 mapper接口 4.5 编写数据操作文件 4.6 编写Service 业…

蓝牙串口通信:STM32F1系列与HC-05模块的连接

摘要 本文详细介绍了如何实现STM32F1系列微控制器与HC-05蓝牙模块的串口通信。通过本教程&#xff0c;读者将学习到硬件连接、软件配置和实际代码编写&#xff0c;为开发基于蓝牙的嵌入式项目打下基础。 1. 引言 在嵌入式系统中&#xff0c;无线通信是一个重要的功能。蓝牙作…

【Linux】03.权限

一、权限的概念 Linux下有两种用户&#xff1a;超级用户&#xff08;root&#xff09;、普通用户。 超级用户&#xff1a;可以在 linux 系统下做任何事情&#xff0c;不受限制普通用户&#xff1a;在linux下做有限的事情超级用户的命令提示符是“#”&#xff0c;普通用户的命…

字节算法岗面试,效率贼高

最近这一两周看到不少互联网公司都已经开始秋招提前批了。 不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友…

GPS北斗标准时钟同步服务器结构是什么?安徽京准

GPS北斗标准时钟同步服务器结构是什么&#xff1f;安徽京准 GPS北斗标准时钟同步服务器结构是什么&#xff1f;安徽京准 电厂时钟同步系统组成及配置 随着计算机和网络通信技术的飞速发展&#xff0c;火电厂热工自动化系统数字化、网络化的时代已经到来。一方面它为控制和信息系…

python--实验 11 模块

目录 知识点 模块基础 模块使用方式 自定义模块示例 模块的有条件执行 Python包结构 定义和导入包 常用第三方库及安装 实例代码 第三方库自动安装脚本 Python标准库介绍 PyInstaller 小结 实验 1.(基础题)制作文本进度条。 2.(基础题) 蒙特卡罗方法计算圆周率…

优化实战篇—自关联的优化

自关联的优化 根据定义&#xff0c;自关联是表自身的关联。自连接通常仅在给定数据中存在父子关系时使用。在本文中&#xff0c;我们将检查如何在Hive中编写自连接查询&#xff0c;它的性能问题以及如何优化它。开始之前我们可以看一下之前关于关联的文章 Hive实战之自关联经…

数据结构第28节 字典树

字典树&#xff08;Trie&#xff0c;也称前缀树&#xff09;是一种用于存储字符串的树形数据结构。它将字符串中的字符作为树的边&#xff0c;每个节点代表一个可能的前缀。字典树非常适合处理大量字符串的搜索、插入和删除操作&#xff0c;尤其是在查找具有相同前缀的字符串时…

[GXYCTF2019]BabySQli

原题目描述&#xff1a;刚学完sqli&#xff0c;我才知道万能口令这么危险&#xff0c;还好我进行了防护&#xff0c;还用md5哈希了密码&#xff01; 我看到是个黑盒先想着搞一份源码 我dirsearch明明扫到了.git&#xff0c;算了直接注入试试看 随便输入了两个东西&#xff0c…

Type-C PD芯片:引领充电技术的新纪元

随着科技的飞速发展&#xff0c;人们对电子设备的依赖日益加深&#xff0c;对充电速度、效率和安全性的要求也越来越高。在这样的背景下&#xff0c;Type-C PD&#xff08;Power Delivery&#xff09;芯片应运而生&#xff0c;以其高效、安全、智能的特点&#xff0c;成为了充电…

vscode编译环境配置-golang

1. 支持跳转 如果单测函数上方不显示run test | debug test&#xff0c;需要安装Code Debugger&#xff08;因为以前的go Test Explorer不再被维护了&#xff09; 2. 单测 指定单个用例测试 go test -v run TestXXXdlv 调试 需要安装匹配的go版本和delve版本&#xff08;如…

Qt易错总结

一、编译相关 建议用qmake !!!,cmake坑点太多&#xff01;&#xff01;&#xff01; 1.自定义控件识别不了 cmakelist加上 include_directories(${PROJECT_SOURCE_DIR}/你自定义控件的相对路径) 2.添加模块&#xff08;以QCharts为例&#xff09; find_package(QT NAMES Q…

Linux多线程编程-生产者与消费者模型详解与实现(C语言)

1.什么是生成者与消费者模型 生产者-消费者模型是并发编程中的经典问题&#xff0c;描述了多个线程&#xff08;或进程&#xff09;如何安全、有效地共享有限的缓冲区资源。在这个模型中&#xff0c;有两种角色&#xff1a; 生产者&#xff08;Producer&#xff09;&#xff1…