实现字符串中单词的逆转,即将单词出现的顺序进行逆转。如将how are you 逆转为you are how!
1.将字符串中单词逆转 思路:先将how are you 中的每一个单词逆序,变成woh era uoy,再把woh era uoy 这个整体字符串逆转,则就达到目的!
#include<stdio.h>
#include<string.h>
void Rotate(char *start,char *end) //将一个字符串逆转
{
if(start == NULL || end == NULL) return ;
while(start<end)
{
char temp = *start;
*start = *end;
*end = temp;
--end;++start;
}
}
void RotateString(char *a,int n)
{
int i,j;
char *k =a;
char *s = a;
while(*k != '\0') //在这个while循环中将字符串变换为woh era uoy,先把how逆序,再把are逆序,再把you逆转!
{
if(*k == ' ')
{
++k;++s;
continue;
}
else if(*s == ' ' || *s == '\0')
{
Rotate(k,--s); //此处k是一个字符串起始的位置,s是到空格位置的下标,s-1是去掉空格,比如说how,k就是0,s就是3,把how逆转,去掉空格,s-去掉空格。
k = ++s;//此处逆转完how了,k=3,s=3此时k和s都是空格,再往下遍历,k=++s,此时K=3,s也等于3,再进行下一个are
}
else
++s;
}
k = a; //把woh era uoy 整体对换,第一个和最后一个对换,把第二个和倒数第二个交换,,,,,,,,直到最后一个。最后的结果为you are how
Rotate(k,s-1); 此处k=0,s=11;
printf("%s\n",a);
}
int main()
{
char a[] ="how are you";
printf("source string: %s\n",a);
RotateString(a,11);
return 0;
}
打印结果: liuzj@ET302Buildver:~/zhanghong$ ./a.out
source string: how are you
you are how
liuzj@ET302Buildver:~/zhanghong$
实现字符串中单词的逆转,即将单词出现的顺序进行逆转。如将how are you 逆转为you are how!相关推荐
- PHP | 检查字符串中是否存在特定的单词/子字符串
Given a string and a word/substring, and we have to check whether a given word/substring exists in t ...
- 如何从一行输入的字符串中基于空格切割出单词
在C++中,可以考虑用已经写好的模板来解题: #include <iostream> #include <string> #include <sstream> #i ...
- c语言求出字符串最长单词,C语言-获取字符串中最长的单词.doc
#include char word(char str[]) {int i,k,flag=0,max=0; char str1[10],ch[10]; for(i=0;str[i]!='\0';i++ ...
- java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...
延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...
- leetcode557. 反转字符串中的单词 III
给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例: 输入:"Let's take LeetCode contest" 输出:" ...
- 编写程序将字符串中最长的单词输出
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 8.写一个函数,输入一段英文,将此字符串中最长的单词输出 #include<st ...
- 统计一个字符串中单词的个数
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p113 习题4 7.统计一个字符串中单词的个数.字符串中两个空格之间的非空格字符串可看做单词. #in ...
- 实现统计一个字符串中的每个单词出现的次数--基于Go语言
实现统计一个字符串中的每个单词出现的次数–基于Go语言 package mainimport ("fmt""strings" )func main() {//统 ...
- 如何大写字符串中每个单词的第一个字符
Java中是否内置了一个函数,该函数可以大写字符串中每个单词的第一个字符,而不会影响其他单词? 例子: jon skeet - > Jon Skeet miles o'Brien > Mi ...
最新文章
- php上传漏洞绕过gd库,jQuery File Upload任意文件上传漏洞
- HTTP 499 状态码 nginx下 499错误
- 英学者研究60亿次通话记录发现:好友再多也没用,最好朋友就4个
- 第六章 XaaS和IT服务标准
- KTV歌曲推荐-深入浅出协同过滤
- QML笔记-在背景图中添加NumberAnimation使得界面效果更佳(小技巧)
- 手把手教你上手Git并上传项目到GitHub官网
- php mb strlen 开启,php mb_strlen是什么函数
- ThreadLocal 解决多线程程序的并发问题+事务处理
- html 父模板,详解vue父子模版嵌套案例
- 李开复对谈硅谷传奇:杨致远敦促AI交产品,马尔科夫说无人车3年没戏
- 自己创建一个本地服务器,实现文件下载
- talib python文档_TALib中文文档代码实现
- Python自定义模块
- 技术类岗位面试中经典问题总结分享
- jquery 获取上传图片的大小
- 激光雷达与相机融合(五)-------ros实时版点云投影到图像平面
- 基于layui后台html模板免费下载
- pytorch入门强化教程——数据加载和处理
- 生成PDF文件方案--学习中
热门文章
- pads 生成gerber时提示 “没有该尺寸的符号:0.8- 所使用的符号: +”
- 虚拟内存到物理内存怎么映射
- parted批量分区脚本
- Python中的复数类型介绍
- Thinkphp验证码不显示问题
- 利用ENVI对LANDSAT系列数据进行预处理步骤
- Eclipse进行断点调试程序
- 3D打印、区块链认证,实景三维技术正在创造无限可能
- javaEE Spring AOP配置 Caused by:Cannot convert value of type ‘com.sun.proxy.$Proxy8 implementing
- Android定时器,更新数据