NewCode----句子反转
生活随笔
收集整理的這篇文章主要介紹了
NewCode----句子反转
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
給定一個(gè)句子(只包含字母和空格), 將句子中的單詞位置反轉(zhuǎn),單詞用空格分割, 單詞之間只有一個(gè)空格,前后沒(méi)有空格。 比如: (1) “hello xiao mi”-> “mi xiao hello”
輸入描述:
輸入數(shù)據(jù)有多組,每組占一行,包含一個(gè)句子(句子長(zhǎng)度小于1000個(gè)字符)
輸出描述:
對(duì)于每個(gè)測(cè)試示例,要求輸出句子中單詞反轉(zhuǎn)后形成的句子
示例1
輸入 hello xiao mi 輸出 mi xiao hello解題思路
因?yàn)椴恢酪恍袝?huì)有多少個(gè)單詞,所以如果用字符數(shù)組進(jìn)行處理的話(huà)要么浪費(fèi),要么不夠,這里我用了C++中的string類(lèi),并用了string類(lèi)的幾個(gè)常用函數(shù)進(jìn)行字符串的處理。先識(shí)別單詞,然后將識(shí)別出的單詞賦值給str2,將str2在0位置插入str3,最后輸出str3,實(shí)現(xiàn)逆序輸出str1。
涉及函數(shù)
strObj.assign(str,x,n); //將str從x位置開(kāi)始的n個(gè)字符賦值給strObj對(duì)象,其中str是一個(gè)string對(duì)象,或者是一個(gè)字符數(shù)組strObj.insert(x,str); //將str的內(nèi)容插入到strObj對(duì)象中,開(kāi)始位置是x。其中str是一個(gè)string對(duì)象,或者是一個(gè)字符數(shù)組strObj.insert(x,n,'z'); //從strObj對(duì)象的x位置,插入n個(gè)字符'z'strObj.length() //返回strObj對(duì)象中字符的個(gè)數(shù)。解題代碼:
#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; }總結(jié)
以上是生活随笔為你收集整理的NewCode----句子反转的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 为啥Vidda的音乐电视深受年轻人喜爱?
- 下一篇: NewCode----数串