日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HJ31 单词倒排

發(fā)布時(shí)間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HJ31 单词倒排 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

描述

對(duì)字符串中的所有單詞進(jìn)行倒排。

說明:

1、構(gòu)成單詞的字符只有26個(gè)大寫或小寫英文字母;

2、非構(gòu)成單詞的字符均視為單詞間隔符;

3、要求倒排后的單詞間隔符以一個(gè)空格表示;如果原字符串中相鄰單詞間有多個(gè)間隔符時(shí),倒排轉(zhuǎn)換后也只允許出現(xiàn)一個(gè)空格間隔符;

4、每個(gè)單詞最長(zhǎng)20個(gè)字母;

輸入描述:
輸入一行以空格來分隔的句子

輸出描述:
輸出句子的逆序

思路一:

使用棧的先進(jìn)后出的特點(diǎn),或者使用vector,之后逆序輸出兩種方式。

#include <iostream> #include <string> #include <stack> using namespace std;//處理字符串 void manageStr(string str){stack<string> st; //定義棧,先進(jìn)后出string temp_str;for(int i=0;i<str.size();i++){if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')){ //把字母進(jìn)行拼接temp_str+=str[i];}else{if(temp_str!=" "){ //遇到空格處理,把拼接的單詞壓入棧st.push(temp_str);temp_str.clear();}}if (i == str.size()-1) st.push(temp_str); // 最后一個(gè)字符放入棧中}while(!st.empty()){cout << st.top() <<" ";st.pop();}}int main(){string str; //定義用來獲取字符串?dāng)?shù)據(jù)getline(cin, str); //獲取字符串上面一行數(shù)據(jù)manageStr(str); //處理字符串return 0; }// int main(){ // string str,result; // while(cin>>str){ // str += " "+result; // result = str; // } // cout << str; // return 0; // }

總結(jié)

以上是生活随笔為你收集整理的HJ31 单词倒排的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。