将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化
2014-06-05 11:45
561 查看
/*测试数据:Shen zhen is a beautiful city!*/ /*运行结果:city! beautiful a is zhen Shen*/ #include<stdio.h> #define SIZE 1000 void reverse(char *low,char *high)/*接受两个指针,将指针中间的内容倒置*/ { while (low < high){ *low = *low^*high; *high = *low^*high; *low = *low^*high; ++low; --high; } } void reverseWord(char *str) { char *c = str, *e = str, *low, *high; while (*e != 0){ ++e; } reverse(c,--e);/*将整个字符串倒置*/ while (*c!=0){ while (*c != 0 && *c == 32){ ++c; } low = c;/*指向单词首部的指针*/ while (*c != 0 && *c != 32){ ++c; } high = c - 1;/*指向单词尾部的指针*/ if (low < high){ reverse(low,high);/*将单词倒置*/ } } puts(str); } int main() { char str[SIZE]; printf("Please enter a string :\n"); gets(str); reverseWord(str); return 0; }
相关文章推荐
- 将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化,将字符串中的空格用 代替
- LeetCode练习<二> 将字符串中的每个单词的字母颠倒,单词顺序不变
- 给定一个字符串,你需要颠倒一个句子中每个单词中的字符顺序,同时保留空格和初始单词顺序。
- 给定一个字符串,你需要颠倒每个单词中的字符顺序,同时仍然保留空白和初始的字顺序。
- 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与字母之间用下划线字符(_)分
- 3. 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与
- [leetcod] Valid Anagram 判断颠倒字母顺序而构成的单词
- 华北计算所其中一道机试题,逆转字符串,但是单词顺序不变,字符串中只含有字母和空格
- C++ 标准模板库学习之 string 类 详解 (一) 将一个句子中每个单词的单词字母顺序翻转 关于npos find_first_not_of find_first_of getline
- 字母顺序颠倒而单词顺序不变的php代码
- 编写一个程序,输入一串不超过60个字符组成的且不包含换行符的字符串,将字符串中的A到Z的字母按英文字典字母顺序重新排列,排列后的单词的长度要与原始句子中的长度相同,并且要求只对A到Z的字母重新排列,其
- 面试题:将一个字符串数组中的字母按照以下规则排列:表中任何单词的首字母与其前面单词的尾字母相同! 要求:字符串只由小写字母构成,且每个字符串长度在2-100之间
- 颠倒单词在字符串中的顺序
- [Java]对字符串中的每个单词个数进行统计
- 丶将字符串的每个字符进行颠倒输出
- 将输入字符串中每个单词的首字母变成大写
- 字典序问题。在数据加密和数据压缩中常需要对特殊的字符串进行编码。给定的字母表A由26个小写字母组成。该字母表产生的升序字符串中字母从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现1
- 67.读入字符串把每个单词开始的字母大写
- 按照单词的字母是否相同对字符串数组进行分组
- 把字符串按照特定的字母顺序进行排序的js代码