字符串---将一句话里的单词进行倒置,标点符号不倒换
来源:互联网 发布:程不时 知乎 编辑:程序博客网 时间:2024/05/17 03:24
#include <iostream>#include <cstring>using namespace std;//step1:全盘翻转void AllReverse(char *str){ int len=strlen(str); int i=0, j=len-1; while (i<j)//实现逆序的判别条件 {//全盘翻转:前后下标位置处遍历交换!!! char tmp=str[i]; str[i]=str[j]; str[j]=tmp; i++; j--; }}//step2:部分翻转,如果不是空格,则翻转单词void PartReverse(char *str){ int i=0; int begin=0; int end=0; while(str[i] != '\0')//实现整个字符串的遍历 { //标识出每个单词的开头和结尾的位置,之后进行逆转 if (str[i]!=' ') {//实现每个单词的统计 begin=i; while (str[i]!=' '&&str[i]!='\0') i++; i--; end=i; } while (begin<end) {//实现逆序:前后下标位置处遍历交换!!! char tmp=str[begin]; str[begin]=str[end]; str[end]=tmp; begin++; end--; } //保证跳过空格,并判断是否到结尾,否则会造成死循环 i++; }}int main(){ //注意:这样会出错,因为这是字符串常量不能修改!!! //char *p="hello world";//字符串常量 char p[]="hello world."; AllReverse(p); cout << p << endl; PartReverse(p); cout << p << endl; return 0;}
结果:
.dlrow ollehworld. helloProcess returned 0 (0x0) execution time : 0.264 sPress any key to continue.
0 0
- 将一句话里的单词进行倒置,标点符号不倒换。
- 将一句话里的单词进行倒置,标点符号不倒换
- 字符串---将一句话里的单词进行倒置,标点符号不倒换
- 将一句话里的单词倒置,标点符号不倒换。
- 将一句话里的单词进行倒置,标点符号不倒换P228
- 将一句话里的单词进行倒置,标点符号不倒换(c++)
- <实例>C++ 将一句话里的单词进行倒置,标点符号不倒换。
- [笔试]网新恒天笔试-将一句话里的单词进行倒置,标点符号不倒换
- 将一句话里的单词进行倒置,标点符号不倒置
- <实例>C++ 将一句话里的单词进行倒置,标点符号不倒换——使用string库实现
- 将一句话的单词进行倒置,标点符号不倒换。比如一句话:“i love you.”倒换后变为"you. love i"
- 将一句话中单词进行倒置,标点符号不倒置
- 将一句话中的单词进行倒换,标点符号不倒换,要求不使用辅助空间
- 将一句话里的单词进行倒置
- 将一句话里的单词进行倒置
- (1454)将一句话中的单词倒置,标点符号不倒置。
- 将一句话里的单词倒置,句号不倒置
- 将一句话里的单词进行逆置,标点符号不逆置
- First time interview in Toronto
- eMMC技术教程(一): eMMC是什么?可以做到多大容量(转自youdianhai.com)
- mac git tab tab 无效
- 5大布局方式详解
- 使用上下文菜单(Context Menu)
- 字符串---将一句话里的单词进行倒置,标点符号不倒换
- Android:通过静态变量传递数据
- 自定义ImageView系列 - 区域截图(上)
- 获取onbeforeunload的返回结果,在检测到取消离开页面后执行操作
- Idea字体美化终极解决方案
- mysql 学习记录(二十二)--mysql的应用优化
- MySQL5.7基于mysqldump的主从复制
- 12.线性表之数组栈的基本操作
- 策略模式(Strategy Pattern)