久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

以單詞為最小單位翻轉字符串

 孤步 2012-08-01

/************************************************************************/

/* 4:一句話的單詞進行倒置,,標點符號不倒換,,比如一句話"i come from nanjing"倒換后變成"nanjing from come i".

                                                                     */

/************************************************************************/

 

 

#include<stdio.h>

#include<iostream>

using namespace std;

 

void Reverse_Array( int begin, int end, char *str)

{

 

       char temp;

      

       while(begin < end )

       {

              temp=str[begin];

              str[begin]=str[end];

              str[end]=temp;

              end--;

              begin++;

       }

}

 

 

 

char * Reverse( char *str)

{

       int j=0,i=0;

       int begin,end;

 

       char temp;

      

       j=strlen(str)-1;

 

       //第一步是進行全盤翻轉,,將單詞變成 ".gnijnan morf emoc i"

       //下面while循環(huán)和 Reverse_Array(i,j,str);是等價的

//     while(j>i)

//     {

//            temp=str[i];

//            str[i]=str[j];

//            str[j]=temp;

//            j--;

//            i++;

//     }

       Reverse_Array(i,j,str);

 

      

       printf("全盤翻轉str=..>> %s\n\n",str);

       i=0;

      

 

       //第二步  進行部分翻轉,,如果不是空格,則開始翻轉單詞

       while(str[i])

       {

             

              if(str[i]!=' ')//查詢一個單詞的起點和終點

              {

                     begin=i;//保存一個單詞的起點

                     while(str[i]&&str[i]!=' ')

                     {

                            i++;

                     }

             

                     end=i-1;//保存一個單詞的終點

              }

 

              //下面while循環(huán)和 Reverse_Array(begin,end,str);是等價的

//            while(end>begin)   //記錄每個單詞的起點和始點,,并翻轉

//            {

//                   temp=str[begin];

//                   str[begin]=str[end];

//                   str[end]=temp;

//                   end--;

//                   begin++;

//            }

              Reverse_Array(begin,end,str);

 

 

              //此時的i指向空格字符,,為了繼續(xù)循環(huán),要i++,,讓i指向下一個非空格字符

              i++;

 

              printf("部分翻轉str=..>> %s\n",str);

       }

       printf("\n",str);

 

       return str;

}

 

 

 

 

int main(void)

{

       int j=0,i=0,flag=0,begin,end;

       char str[]="I come from NanJing,。",temp;

       j=strlen(str)-1;

      

       printf("初始string=.>>> %s\n\n",str);

 

       char *str2 = Reverse(str);

 

       printf("結果string222=.>>> %s\n\n",str);

 

       return 0;

}

 

 

初始string=.>>> I come from NanJing

 

全盤翻轉str=..>> ,!gniJnaN morf emoc I

 

部分翻轉str=..>> NanJing,。 morf emoc I

部分翻轉str=..>> NanJing from emoc I

部分翻轉str=..>> NanJing,。 from come I

部分翻轉str=..>> NanJing,。 from come I

部分翻轉str=..>> NanJing from come I

 

結果string222=.>>> NanJing,。 from come I

 

Press any key to continue

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多