亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++實現翻轉單詞順序

2020-05-23 14:02:22
字體:
來源:轉載
供稿:網友

題目:輸入一個英文句子,翻轉句子中單詞的順序,但單詞內字符的順序不變。句子中單詞以空格符隔開。為簡單起見,標點符號和普通字母一樣處理。例如輸入“I am a student.”,則輸出“student. a am I”。

思路:首先將整個句子按字符翻轉,然后再將其中每個單詞的字符旋轉。

#include <string>#include "stdafx.h"void Reverse(char *pBegin, char *pEnd){  if(pBegin == NULL || pEnd == NULL)    return;    while(pBegin < pEnd)  {    char temp = *pBegin;    *pBegin = *pEnd;    *pEnd = temp;        pBegin ++, pEnd --;  }}char* ReverseSentence(char *pData){  if(pData == NULL)    return NULL;  char *pBegin = pData;  char *pEnd = pData;  while(*pEnd != '/0')    pEnd ++;  pEnd--;  // 翻轉整個句子  Reverse(pBegin, pEnd);  // 翻轉句子中的每個單詞  pBegin = pEnd = pData;  while(*pBegin != '/0')  {    if(*pBegin == ' ')    {      pBegin ++;      pEnd ++;    }    else if(*pEnd == ' ' || *pEnd == '/0')    {      Reverse(pBegin, --pEnd);      pBegin = ++pEnd;    }    else    {      pEnd ++;    }  }  return pData;}int main(){  char input[] = "I am a student.";  printf("%s/n/n",input);  printf("After reverse./n/n");  ReverseSentence(input);  printf("%s/n", input);    return 0;}

再給大家分享一段一位國外網友的實現方法

#include <stdio.h> #include <string.h>  int main() {   char str[50001], ch;   int i, low, high, tmp, len;      while( gets( str ) )   {       low = 0;       high = 0;       len = strlen( str );              while( low < len )       {          while( str[low] == ' ' )          {              low++;          }                    high = low;                    while( str[high] )          {              if( str[high] == ' ' )              {                high--;                break;              }              else              {                high++;              }          }                    if( str[high] == '/0' )          {            high--;          }           tmp = high + 1;                    while( low < high )          {             ch = str[low];             str[low] = str[high];             str[high] = ch;             low++;             high--;          }                    low = tmp;          high = tmp;       }              for( i = len - 1; i > 0; i-- )       {         printf("%c", str[i]);       }       printf("%c/n", str[0]);   }      return 0; }

再來一個小編的代碼

#include <iostream> using namespace std; void reverse_part(char*,int pBegin,int pEnd); void reverse(char *str) {   //n為字符串長度   int n=strlen(str)-1;   reverse_part(str,0,n);   int pBegin=0,pEnd=0;    while(str[pEnd+1]){     if(str[pEnd]!=' ' && str[pEnd]!='/0')       ++pEnd;     //找到空格     else{       reverse_part(str,pBegin,pEnd-1);       //如果下一個還是空格       while(str[pEnd+1]!='/0' && str[pEnd+1]==' ')         ++pEnd;       pBegin=++pEnd;     }   }   cout<<str<<endl; }  void reverse_part(char *str,int pBegin,int pEnd) {   char temp;   for(int i=pBegin;i<=(pEnd-pBegin)/2;++i){     temp=str[i];     str[i]=str[pEnd-i];     str[pEnd-i]=temp;   } }  void main() {   char str[]="I am a student.";   reverse(str);   system("pause"); } #include <iostream>using namespace std;void reverse_part(char*,int pBegin,int pEnd);void reverse(char *str){ //n為字符串長度 int n=strlen(str)-1; reverse_part(str,0,n); int pBegin=0,pEnd=0; while(str[pEnd+1]){ if(str[pEnd]!=' ' && str[pEnd]!='/0')  ++pEnd; //找到空格 else{  reverse_part(str,pBegin,pEnd-1);  //如果下一個還是空格   while(str[pEnd+1]!='/0' && str[pEnd+1]==' ')  ++pEnd;  pBegin=++pEnd; } } cout<<str<<endl;}void reverse_part(char *str,int pBegin,int pEnd){ char temp; for(int i=pBegin;i<=(pEnd-pBegin)/2;++i){ temp=str[i]; str[i]=str[pEnd-i]; str[pEnd-i]=temp; }}void main(){ char str[]="I am a student."; reverse(str); system("pause");}

以上就是解決單詞順序翻轉的3種方法了,希望小伙伴們能夠喜歡


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
红桃视频成人在线观看| 91av国产在线| 91美女片黄在线观| 成人黄色av播放免费| 性欧美xxxx| 日韩美女在线观看| 成人免费观看a| 一区二区在线视频播放| 日韩精品一区二区视频| 亚洲人成网站999久久久综合| 国产日韩在线亚洲字幕中文| 国产精品美女免费看| 最近2019中文字幕大全第二页| 中文字幕欧美视频在线| 亚洲色图13p| 性金发美女69hd大尺寸| 色偷偷av亚洲男人的天堂| 精品国产老师黑色丝袜高跟鞋| 欧美精品久久久久| 国产欧美在线看| 国产精品美女在线| 亚洲精品国产综合久久| 中文字幕欧美日韩| 亚洲free性xxxx护士hd| 亚洲精品欧美一区二区三区| 亚洲免费一在线| 欧美最猛性xxxxx(亚洲精品)| 日本久久久久亚洲中字幕| 亚洲男人的天堂在线播放| 精品视频久久久久久| 一本色道久久88综合日韩精品| 亚洲人成网站999久久久综合| 亚洲精品自产拍| 亚洲国产婷婷香蕉久久久久久| 亚洲欧洲日韩国产| 精品国产精品三级精品av网址| 亚洲国产中文字幕久久网| 日韩欧美在线视频| 欧美成人激情在线| 欧美极品少妇xxxxx| 亚洲视频在线观看| 55夜色66夜色国产精品视频| 国产精品精品国产| 国产成人精彩在线视频九色| 亚洲japanese制服美女| 国产va免费精品高清在线| 最近2019年中文视频免费在线观看| 91高潮在线观看| 91精品成人久久| 97超碰色婷婷| 欧美性xxxx极品hd欧美风情| 国产成人97精品免费看片| 亚洲乱码一区二区| 国产精品第二页| 久久久在线视频| 亚洲伊人一本大道中文字幕| 青草青草久热精品视频在线观看| 久久久这里只有精品视频| 98精品国产高清在线xxxx天堂| 俺去亚洲欧洲欧美日韩| 欧美三级免费观看| 亚洲奶大毛多的老太婆| 欧美性xxxxx极品娇小| 欧美一区二区三区四区在线| 日本精品免费一区二区三区| 精品亚洲男同gayvideo网站| 国产精品一区二区电影| 亚洲成人激情在线观看| 国产精品青草久久久久福利99| 国产一区视频在线| 精品露脸国产偷人在视频| 欧美另类交人妖| 97超级碰碰碰久久久| 欧美色欧美亚洲高清在线视频| 欧美性感美女h网站在线观看免费| 日日狠狠久久偷偷四色综合免费| 亚洲人成网站在线播| 午夜精品久久久久久久男人的天堂| 成人激情综合网| 国产精品2018| 久久韩国免费视频| 91爱视频在线| 久久在线免费视频| 国产精品专区第二| 国产精品夜色7777狼人| 日韩成人中文电影| 日韩va亚洲va欧洲va国产| 日本一区二三区好的精华液| 久久不射热爱视频精品| 亚洲视频精品在线| 国产精品久久一区| 伊人久久五月天| 97国产精品人人爽人人做| xxx一区二区| 草民午夜欧美限制a级福利片| 日韩精品在线观看网站| 国产日韩欧美成人| 欧美高清激情视频| 国产日本欧美一区二区三区在线| 国产精品午夜一区二区欲梦| 欧美精品videossex性护士| 久久精品成人一区二区三区| 91精品国产自产91精品| 国产小视频国产精品| 久久精品成人欧美大片古装| 不卡在线观看电视剧完整版| 日韩亚洲综合在线| 亚洲精品小视频在线观看| 欧美成在线观看| 成人免费网视频| 久久久久久久电影一区| 欧美在线视频观看| 国产精品白嫩美女在线观看| 久久久久久久久久久免费精品| 国内偷自视频区视频综合| 亚洲国产成人爱av在线播放| 久久久精品电影| 欧美高清自拍一区| 亚洲奶大毛多的老太婆| 亚洲第一精品夜夜躁人人躁| 91免费国产视频| 久久久精品美女| 成人亚洲欧美一区二区三区| 成人国产精品日本在线| 日韩一区二区av| 亚洲国产欧美久久| 神马久久久久久| 国产日韩中文字幕| 久久精品在线视频| 日韩欧美在线视频| 亚洲的天堂在线中文字幕| 日韩av在线影院| 国产91精品久久久| 欧美成人精品激情在线观看| 懂色av中文一区二区三区天美| 成人性生交大片免费观看嘿嘿视频| 日韩欧美精品免费在线| 亚洲影院色无极综合| 欧美性69xxxx肥| 欧美大码xxxx| 亚洲片在线观看| 日韩av最新在线| 欧美一级淫片丝袜脚交| 中文字幕亚洲一区二区三区| 尤物精品国产第一福利三区| 亚洲精品天天看| 国产一区二区在线免费| 欧美日韩中文在线| 成人在线精品视频| 亚洲色图17p| 美女精品久久久| 国产欧美va欧美va香蕉在线| 国产精品九九九| 日韩精品亚洲精品| 欧美中文字幕视频在线观看| 国产美女精品免费电影| 亚洲国产精品悠悠久久琪琪| 亚洲人永久免费| 奇米四色中文综合久久| 性欧美xxxx视频在线观看| 亚洲视频999| 久久久久久亚洲精品中文字幕| 日韩高清电影好看的电视剧电影| 欧美午夜丰满在线18影院|