博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程算法 - 翻转单词顺序 代码(C)
阅读量:6217 次
发布时间:2019-06-21

本文共 1008 字,大约阅读时间需要 3 分钟。

翻转单词顺序 代码(C)

本文地址: http://blog.csdn.net/caroline_wendy

题目: 输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变.

首先翻转(reverse)整个句子, 然后查找空格, 如遇到空格, 则翻转前面的单词, 或遇到结束符, 相同进行翻转.

代码:

/* * main.cpp * *  Created on: 2014.9.19 *      Author: spike */#include 
#include
#include
#include
using namespace std;void Reverse(char* begin, char* end) { if (begin == NULL || end == NULL) return; while(begin < end) { char tmp = *begin; *begin++ = *end; *end-- = tmp; }}char* ReverseWords(char* data) { if (data == NULL) return NULL; int len = strlen(data); char* begin = data; char* end = &data[len-1]; Reverse(begin, end); begin = end = data; while(*begin != '\0') { if (*begin == ' ') { begin++; end++; } else if (*end == ' ' || *end == '\0') { Reverse(begin, --end); begin = ++end; } else { ++end; } } return data;}int main(void){ char data[] = "I am Spike."; char* res = ReverseWords(data); cout << res << endl; return 0;}

输出:

Spike. am I

你可能感兴趣的文章
【Java】I/O类库
查看>>
WPF 4 Ribbon 开发 之 标签工具栏(Tab Toolbar)
查看>>
传闻 Android Q 将支持手机应用版本回滚
查看>>
Visual Studio Code 1.33 发布
查看>>
jQuery幻灯片播放器插件
查看>>
并发——读写锁初探
查看>>
BAT研发面试36题总结:Spring+Redis+Docker+Dubbo+高并发架构
查看>>
Android Animation(动画)---基础二(LayoutAnimationController)
查看>>
python docx文档转html页面
查看>>
阿里如何做到在线业务百分百容器化
查看>>
死锁查看处理(三)
查看>>
rabbitmq 启动与停止
查看>>
浅谈unicode编码和utf-8编码的关系
查看>>
LinuxOS
查看>>
12月5日云栖精选夜读 | 埋在 MySQL 数据库应用中的17个关键问题!
查看>>
实现抽屉列表-微信小程序
查看>>
WPF自定义窗口最大化显示任务栏
查看>>
用 HBase 做高性能键值查询?
查看>>
基于python的Scrapy爬虫框架实战
查看>>
腾讯成为 Linux 基金会白金会员,贡献两大自研项目
查看>>