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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NewCode----句子反转

發布時間:2023/12/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NewCode----句子反转 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述

給定一個句子(只包含字母和空格), 將句子中的單詞位置反轉,單詞用空格分割, 單詞之間只有一個空格,前后沒有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”

輸入描述:

輸入數據有多組,每組占一行,包含一個句子(句子長度小于1000個字符)

輸出描述:

對于每個測試示例,要求輸出句子中單詞反轉后形成的句子

示例1
輸入 hello xiao mi 輸出 mi xiao hello
解題思路

因為不知道一行會有多少個單詞,所以如果用字符數組進行處理的話要么浪費,要么不夠,這里我用了C++中的string類,并用了string類的幾個常用函數進行字符串的處理。先識別單詞,然后將識別出的單詞賦值給str2,將str2在0位置插入str3,最后輸出str3,實現逆序輸出str1。

涉及函數
strObj.assign(str,x,n); //將str從x位置開始的n個字符賦值給strObj對象,其中str是一個string對象,或者是一個字符數組strObj.insert(x,str); //將str的內容插入到strObj對象中,開始位置是x。其中str是一個string對象,或者是一個字符數組strObj.insert(x,n,'z'); //從strObj對象的x位置,插入n個字符'z'strObj.length() //返回strObj對象中字符的個數。
解題代碼:
#include<iostream> #include<string.h> using namespace std;int main(){string str1;string str2;string str3;int length;int i;int word=0;getline(cin,str1);length=str1.length();for(i=0;i<length;i++){if(str1[i]==' '||i==length-1){str2.assign(str1,i-word,word+1);if(i==length-1){str2.insert(word+1,1,' ');}str3.insert(0,str2);str2.clear();word=0;}else{word++;}}str3.insert(length,1,'\0');cout<<str3;return 0; }

總結

以上是生活随笔為你收集整理的NewCode----句子反转的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。