Chinaunix首页 | 论坛 | 博客
  • 博客访问: 139126
  • 博文数量: 38
  • 博客积分: 306
  • 博客等级: 二等列兵
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-29 15:19
文章分类

全部博文(38)

文章存档

2013年(23)

2012年(15)

我的朋友

分类: C/C++

2013-05-20 16:56:48


将字符串  http. 翻转为  cn.com.sina.

程序如下:


点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <string.h>
  3. void All_reverse(char *p,int n);
  4. void reverse(char * s);
  5. int main()
  6. {
  7. char str[]="http.";
  8. printf("Intial string is:%sn",str);
  9. //printf("stlent of str is:%dn",strlen(str));
  10. reverse(str);
  11. printf("After reverse the string is:%sn",str);
  12. return 0;
  13.                                                                                 
  14. }
  15. void All_reverse(char * p,int n)   // 完全反转,以单个字符为最小粒度。
  16. {
  17.   int i=0;
  18.   char tmp;
  19.   for(i=0;i<n/2;i++)
  20.   {
  21.     tmp=*(p+i);
  22.     *(p+i)=*(p+n-1-i);
  23.     *(p+n-1-i)=tmp;
  24. }
  25. }
  26. void reverse(char * s)
  27. {
  28.  int i=0,n=0;
  29.  All_reverse(s,strlen(s));
  30.  while (s[i]!='0')
  31.   {
  32.    if(s[i]=='.')
  33.    {
  34.     All_reverse(s+n,i-n);
  35.     i++;
  36.     n=i;
  37.    }
  38.    else i++;
  39.   }
  40.     All_reverse(s+n,i-n);  //  将最后一个单词反转,即使它没有遇到分隔符号'.' ,但仍需要反转。
  41. }


程序结果


点击(此处)折叠或打开

  1. [root@localhost C]# ./reverg-righte.exe
  2. Intial string is:http.www.sina.com.cn
  3. After reverse the string is:cn.com.sina.www.http


阅读(2224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~