iT邦幫忙

1

String的問題

c++
  • 分享至 

  • xImage

這本書的練習3.6要怎麼處理啊?我試了很多種方法,也把書看了很多遍,但還是不懂。
https://ithelp.ithome.com.tw/upload/images/20200630/20126611NcavJm01KT.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
4
一級屠豬士
iT邦大師 1 級 ‧ 2020-06-30 20:20:49
最佳解答

https://github.com/huangmingchuan/Cpp_Primer_Answers/blob/master/ch03/exercise3_6.cpp

https://github.com/huangmingchuan/Cpp_Primer_Answers

https://sanmin.com.tw/Product/index/004969836

看大家都寫一些來玩,那我寫個Python的.

str1 = "hello world!"
str1 = ''.join(map(lambda char : 'x', str1))

https://ithelp.ithome.com.tw/upload/images/20200630/20050647Wz6GUn1S7n.png

看更多先前的回應...收起先前的回應...

不錯,收藏一下!看來都要學正規一點,從頭學一次。

買本書「C++ Primer習題集」玩下

froce iT邦大師 1 級 ‧ 2020-07-01 08:21:49 檢舉
str1 = "hello world!"
str1 = ["x" for i in str1]

我也玩一下。

簡單粗暴的很多啊.但是這些都是重新產生.嚴格來說,不完全符合,替換的要求. 不過就寫來參考看看.

str1 = "hello world!"
str1 = 'x' * len(str1)

我觀察了一下發問者的問題,我建議初學者可以先學一個可以直接互動回饋的程式語言,例如Python之類的,先把一些基本的語法像是迴圈,邏輯判斷等等熟悉一下,也花不到多久.再來往C++方面學習.
看過很多一開始就拼命往Java , C++ 學的,然後再來問一些很淺的問題,一段時間過後,就放棄了.有點可惜啊.兩點之間,有時候曲線一下,也能達到,也能看到更多景色.

froce iT邦大師 1 級 ‧ 2020-07-01 09:41:56 檢舉

沒錯,我以前學C也是覺得學這幹麻,都一堆字串玩來玩去的一點意義都沒有。
但是後來接觸python以後,能做的事變多了,也慢慢建立自信心了。現在除了python以外,js、go也會寫,C#、甚至C++也能稍微看懂(Qt的官網都是C++範例,我寫golang binding都得自己轉換過去)。

先了解程式設計的本質是什麼比熟一個語言重要多了。

有些是唸書,因為老師指定,有些是聽人(朋友,或是...)講說哪種語言學了就能找到好工作(高薪),然後一頭熱的硬要學一個入門門檻很高的.
可以觀察到,很多這樣的新幫友,但是能維持下去的卻不多.
但是資深幫友的建議,往往會被回嗆的也不在少數.
另外一種的是急於做某種心中認為的計畫,以前是購物網站,這幾年比較多的是爬蟲,抓取金融資料,有個絕妙的想法,你們不要阻攔我,等我完成了,嘿嘿.
還有一種是,我要刷題,但是連基本都不熟悉,就東找西找各種解答,
不懂就硬背,然後也是沒多久就陣亡了.
總之,心態要能夠把學習程式語言當作是一件樂事,而不是訂目標,苦讀.
這不是苦讀就可以的事.

3
清心明月
iT邦新手 3 級 ‧ 2020-06-30 20:27:45
#include <iostream>
#include <string>

int main()
{
  std::string a ("Andrew Choi");
  for (int i = 0; i < a.size(); ++i)
  {
      a[i] = 'x';
  }
      
  std::cout << a ;
}

一級屠豬士 的方法好點

那不是我寫的,那是我找到的.

5
海綿寶寶
iT邦大神 1 級 ‧ 2020-06-30 20:56:55

我跟你剛好相反
我只試了一種方法
這本書我一遍都沒看過
/images/emoticon/emoticon06.gif

#include <iostream>

using namespace std;

int main()
{
   string str = "Hello World";
   string ans = "";

   for (int i=0;i<str.length();i++) {
       ans = ans + 'x';
   }
   cout << ans << endl;
   
   return 0;
}
0
screenleon
iT邦新手 1 級 ‧ 2020-07-01 13:53:51
let string = '123456789';
console.log(string.replace(/\w/g, 'X'));

我要發表回答

立即登入回答