码迷,mamicode.com
首页 > 其他好文 > 详细

句子逆序

时间:2016-07-14 10:06:23      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

题目描述  

  将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”。

  所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符。

输入描述

  将一个英文语句以单词为单位逆序排放。

输出描述

  得到逆序的句子

输入样例 

I am a boy

输出样例

boy a am I

测试代码

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 void reverse(char *p, char *q)
 5 {
 6     char t;
 7     while (p < q)
 8     {
 9         t = *p, *p = *q, *q = t;
10         p++, q--;
11     }
12 }
13 
14 int main(void)
15 {
16     char str[2000];
17     char *p, *q;
18     while (fgets(str, 2000, stdin) != NULL)
19     {
20         str[strlen(str) - 1] = 0x00;
21         reverse(str, str + strlen(str) - 1);
22         p = q = str;
23         while (*q)
24         {
25             while (*q !=   && *q != \0)
26             {
27                 q++;
28             }
29             reverse(p, q - 1);
30             while (*q ==   && *q != \0)
31             {
32                 q++;
33                 p = q;
34             }
35         }
36         puts(str);
37     }
38     return 0;
39 }

 

句子逆序

标签:

原文地址:http://www.cnblogs.com/maxin/p/5669170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!