一道面试题
2013-11-04 12:12
232 查看
反转句子的单词顺序!
for example:
this is a apple
to :
apple a is this
for example:
this is a apple
to :
apple a is this
#include "stdafx.h" #include<stdio.h> //将单个单词的字母顺序反转 void ReverseWords(char* x,char* y) { char t = *x; while(x < y) { t = *x; *x = *y; x++; *y = t; y--; } } char* ReverseSentence(char* Sentence) { char* p = Sentence; // p 指向句子的首个字母 char* q = p; // q 指向句子的空格或'\0' while (*q != '\0') { if (*q == ' ') // p 指向句子首个字母 q 指向单词的最后一个字母 { // 比如:p -> this is a apple // q-1 -> s is a apple ReverseWords(p,q-1); // 结果:p -> siht is a apple q++; p = q; } else q++; } ReverseWords(p,q-1); // 反转最后一个单词 ReverseWords(Sentence,q-1); // 反转整个句子 return Sentence; } void main() { char Sentence[] = "this is a apple"; char* Res = ReverseSentence(Sentence); printf("%s",Res); }
相关文章推荐
- 分组取前N记录-- 一道淘宝的考察sql语句的面试题
- 一道有趣的面试题 - 设计模式的运用
- 局部变量与实例变量---一道c#面试题想到的
- 一道关于返回指针和返回数组名的面试题
- 一道SQL的面试题之联想
- 一道淘汰85%面试者的百度开发者面试题参考答案
- 一道淘汰85%面试者的百度开发者面试题-我就是想知道正确的答案.
- 华为的一道C语言面试题
- 关于数组指针的一道面试题
- 线程:一道线程的面试题
- 一道sql面试题的多种解答
- [Algorithms] [NOT SOLVED] [@尝试去实现] [推荐] 微软谷歌的一道面试题:如何分隔没有空格标点的英文句子
- 一道Google面试题引发的代码优化战
- 一道关于实例化顺序的C#面试题
- 一道淘汰85%面试者的百度开发者面试题——解题、参考答案和优化思路
- 谷歌的一道面试题(来自javaeye)
- 一道Java面试题之实现复制、删除、剪切文件(文件夹的实现)的snippet
- 一道SQL表关联查询的面试题
- 一道经典面试题-----setTimeout(function(){},0)
- 一道JAVA IO面试题