翻轉句子,記一次getline函式的使用

2021-08-03 03:23:06 字數 893 閱讀 3851

首先是一道很水的題,題意如下

描述輸入乙個句子(一行),將句子中的每乙個單詞翻轉後輸出。

輸入只有一行,為乙個字串,不超過500個字元。單詞之間以空格隔開。

輸出翻轉每乙個單詞後的字串,單詞之間的空格需與原文一致。

樣例輸入

hello world

樣例輸出

olleh dlrow

那麼剛看到這個題的時候就忘記了該怎麼讀入一行句子,只是隱隱約約有getline這個函式的例子,之前想通過轉到定義來檢視,發現定義的太過麻煩,還是去網上查了一下

getline(is, str, ch) 三個引數的意思是 is 是乙個輸入流, str是乙個字串,將輸入流的字串讀入到str中,讀入遇到ch的時候會停止,預設ch為換行符\n

其中 istream &is 表示乙個輸入流,譬如cin;string&str表示把從輸入流讀入的字串存放在這個字串中(可以自己隨便命名,str什麼的都可以);char delim表示遇到這個字元停止讀入,在不設定的情況下系統預設該字元為'\n',也就是回車換行符(遇到回車停止讀入)

知道後就好寫了

**如下

//#include "stdafx.h"

#include#include#includeusing namespace std;

int main()

while (i < str1.length())

for (int k = j - 1; k >= i; k--) cout << str1[k];

while ( j< str1.length() && str1[j] == ' ')

i = j;

} //cout << str1 << endl;

return 0;}

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...

記一次 EqualsAndHashCode的疑惑

lombok的使用真的是讓開發人員欲罷不能,乙個 data不管有多少屬性全部搞定,以後加字段也不用從新生成get和set方法。不過這裡還是有乙個小坑需要注意一下,舉個例子 public class equalsandhashcodetest data noargsconstructor access...

記一次除錯

這是我最近幾個月來遇到的最棘手的乙個問題 昨天花了4個小時找出第一層次的原因 這個糾結啊,本來和老婆說好準時下班回家吃飯的,結果被這個問題拖了老久。這是乙個gradle的plugin,用來resolve公司內部的dependency的,弄完了跑測試專案的,拋乙個npe,而且npe還不在自己的 裡面。...