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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

PAT 乙级 1009

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT 乙级 1009 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目

??? 題目地址:PAT 乙級 1009

?

題解

??? 本題本身屬于比較簡單的字符串操作題,但是因為對于string的操作和函數不熟悉導致本題做起來很費勁,需要加強對于string類以及相關方法的理解和熟練程度。

??? 1. string讀取字符串時,默認以空格或者回車作為結束輸入的標志,所以在本題中,如果用string的普通輸入無法完整讀入數據,因此需要使用getline方法

????????? getline()

??????????????? 頭文件:#include <string>

??????????????? 函數原型:getline(istream &is,string &str,char delim)

??????????????? 主要功能:讀入整行數據,不把空格作為判斷輸入結束的條件,默認是回車,可以自行設置結束條件

????????????? ? istream &is表示一個輸入流,譬如cin,string表示把從輸入流讀入的字符串存放在這個字符串中(&str其實就是一個變量),char delim是終止符(默認為回車,還可以是別的符號,如#,*之類的都可以)

??? 2. 如果需要對某一個字符串進行切片處理時,本題中用到的方法是substr()

????????? substr()

?????????????? 頭文件:#include <string>

?????????????? 函數原型:substr(size_t pos = 0, size_t len = npos)

?????????????? 主要功能:復制某一范圍內的子字符串,要求從指定位置開始,并具有指定的長度

?

代碼

1 #include <iostream> 2 #include <string> 3 #include <vector> 4 using namespace std; 5 6 int main() { 7 string str; 8 vector<string> out_str; 9 getline(cin, str); 10 str[str.size()] = ' '; 11 int start = 0, cnt = 0; 12 string tmp; 13 for (int i = 0; i < (str.size() + 1); i++) { 14 if (str[i] == ' ') { 15 tmp = str.substr(start, cnt); 16 out_str.push_back(tmp); 17 start = i + 1; 18 cnt = -1; 19 } 20 cnt++; 21 } 22 for (int i = out_str.size() - 1; i >= 0; i--) { 23 cout << out_str[i]; 24 if (i != 0) 25 cout << ' '; 26 } 27 28 return 0; 29 }

?

更新后的代碼

1 #include <iostream> 2 #include <string> 3 using namespace std; 4 5 int main() { 6 string str; 7 getline(cin, str); 8 int last = str.size(); 9 for (int i = str.size() - 1; i >= 0; i--) { 10 if (str[i] == ' ' || i == 0) { 11 if (i == 0) i = -1; 12 for (int j = i + 1; j < last; j++) 13 cout << str[j]; 14 if (i != -1) 15 cout << ' '; 16 else 17 cout << endl; 18 last = i; 19 } 20 } 21 22 return 0; 23 }

?

轉載于:https://www.cnblogs.com/moujun1001/p/9326932.html

總結

以上是生活随笔為你收集整理的PAT 乙级 1009的全部內容,希望文章能夠幫你解決所遇到的問題。

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