Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141012
  • 博文数量: 66
  • 博客积分: 1571
  • 博客等级: 上尉
  • 技术积分: 715
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-24 22:55
文章分类

全部博文(66)

文章存档

2012年(66)

我的朋友

分类: C/C++

2012-09-07 15:48:08


点击(此处)折叠或打开

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main()
  5. {
  6.     char str[]="I come from Anhui ,and you ?";
  7.     int len=strlen(str);
  8.     char temp;
  9.     int i=0,j=len-1;
  10.     while(j>i)   实现逆序的判别条件
  11.     {
  12.         temp=str[i];
  13.         str[i]=str[j];
  14.         str[j]=temp;
  15.         i ;
  16.         j--;
  17.     }

  18.     i=0;
  19.     while(str[i]!='\0') //实现整个字符串的遍历
  20.     {
  21.      j=i;
  22.         int n=0;
  23.         while(str[j]!=' '&&str[j]!='\0') //实现每个单词的统计
  24.         {
  25.             n ;
  26.             j ;
  27.         }
  28.         int m=j;
  29.         j--; //计数从1开始,下标从0开始,所以j--
  30.         while(j>i) //实现逆序
  31.          {
  32.             temp=str[i];
  33.             str[i]=str[j];
  34.             str[j]=temp;
  35.             i ;
  36.             j--;
  37.          }
  38.          if(str[m]!='\0') //判断是否到到边界,没有到达,则i指向下个单词的词首
  39.           i=m 1;
  40.         else //到达了,则i直接指向字符串结束符'\0',让大循环结束
  41.           i=len;
  42.     }


  43.     for(i=0;i<len;i )
  44.      cout<<str[i];
  45.     cout<<endl;
  46. }

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