Re: [問題] c++字串取代,助教給的程式碼看不懂

看板C_and_CPP作者 (慢慢)時間15年前 (2010/03/21 01:05), 編輯推噓5(508)
留言13則, 5人參與, 最新討論串2/5 (看更多)
原文恕刪 新手試寫 #include <cstdlib> #include <iostream> #include <string> using namespace std; int main(int argc, char *argv[]) { char n[100]; int i,x; while(cin >> n){ x=strlen(n); for(i=0;i<=x-3;i++){ //範圍設定到後3個就好,感謝ledia大提醒 if(n[i]==97&&n[i+1]==97&&n[i+2]==97){ n[i]=98;n[i+1]=98;n[i+2]=98;}//假如有連續的a,則替換成b,否則直接輸出 } for(i=0;i<x;i++){ cout << n[i];} cout << endl; } system("PAUSE"); return EXIT_SUCCESS; } 自己寫都很常忽略一些錯誤>"< 果然開放程式碼讓大家除錯比較快 難怪有OSC 旁觀者清阿~ -- HEY~~~HEY~~~CHAAAAARLIE~!   。。。。。 ⊙ . ▼▼▼▼ \▲▲▲▲ φ . \ . δ ./ㄨ \\/ˊ▄▄ \|/ㄑ ( ︶ ˋ\///\/. by Armour@joke -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.240.176.185

03/21 01:08, , 1F
謝謝這位高手! 小弟感激不盡 原本我也想用陣列去比
03/21 01:08, 1F

03/21 01:08, , 2F
strlen 拿到迴圈外吧, 另外 n[i+1] n[i+2] 會用到超界
03/21 01:08, 2F

03/21 01:08, , 3F
可是看到助教給的作業內容 實在是不敢違抗助教的寫法orz
03/21 01:08, 3F

03/21 01:10, , 4F
對耶 好像會超過範圍 我思考一下好了 新手上路> <
03/21 01:10, 4F

03/21 01:11, , 5F
對了 strlen在迴圈內會發生什麼事嗎? 因為我都這樣用...
03/21 01:11, 5F

03/21 01:12, , 6F
n不變的時候 他會浪費時間每次都去call function
03/21 01:12, 6F

03/21 01:13, , 7F
在沒有最佳化的時候有差,放外面只要call一次就好了
03/21 01:13, 7F

03/21 01:14, , 8F
喔喔 瞭解了 他會浪費時間去呼叫函數 謝謝
03/21 01:14, 8F

03/21 01:15, , 9F
話說, 為什麼有的地方用'b'有的地方用97啊, 這種地方可
03/21 01:15, 9F

03/21 01:15, , 10F
以用同樣的style呀XD
03/21 01:15, 10F

03/21 01:17, , 11F
阿對吼 哈哈 我想到什麼就用什麼XD 沒照規矩來
03/21 01:17, 11F

03/21 01:18, , 12F
好奇問一下而已啦XD 上星期工作都在port code, 不同
03/21 01:18, 12F

03/21 01:19, , 13F
style的diff一直讓我不改也不是, 改了手又改到痠Orz
03/21 01:19, 13F
※ 編輯: RMC 來自: 210.240.176.185 (03/21 01:26)
文章代碼(AID): #1BfG1Gzw (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BfG1Gzw (C_and_CPP)