剑指Offer41 反转单词顺序,单词字符顺序不变

本文介绍了一个用C语言实现的字符串反转程序,该程序能够将输入的字符串中的单词顺序进行反转,同时保持单词内部字符顺序不变。通过两次反转操作实现:首先整体反转整个字符串,然后逐个反转每个单词。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 /*************************************************************************
 2     > File Name: 41_ReverseWords.c
 3     > Author: Juntaran
 4     > Mail: JuntaranMail@gmail.com
 5     > Created Time: 2016年09月04日 星期日 16时18分34秒
 6  ************************************************************************/
 7 
 8 #include <stdio.h>
 9 
10 // 反转单词
11 void ReverseWord(char* left, char* right)
12 {
13     if (left== NULL || right==NULL)
14         return;
15     while (left < right)
16     {
17         char temp = *left;
18         *left = *right;
19         *right = temp;
20         
21         left ++;
22         right --;
23     }
24 }
25 
26 void Reverse(char* str)
27 {
28     if (str == NULL)
29         return;
30     
31     char* left = str;
32     char* right = str;
33     while (*(right+1) != '\0')
34         right++;
35     
36     // 先反转整个句子
37     ReverseWord(left, right);
38     
39     // 再逐步反转每个单词
40     left = str;
41     right = str;
42     while (*left != '\0')
43     {
44         if (*left == ' ')
45         {
46             left ++;
47             right++;
48         }
49         else if (*right==' ' || *right=='\0')
50         {
51             ReverseWord(left, --right);
52             left = ++right;
53         }
54         else
55         {
56             right ++;
57         }
58     }
59 }
60 
61 int main()
62 {
63     char str[] = "I am a student. ";
64     Reverse(str);
65     
66     printf("%s\n", str);
67     return 0;
68 }

 

转载于:https://www.cnblogs.com/Juntaran/p/5839779.html

C++本科毕业设计-ROS机械臂上位机源码(下载即用),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源码(下载即用)C++本科毕业设计-ROS机械臂上位机源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值