[問題] 無窮迴圈的問題

看板C_and_CPP作者 (路人)時間16年前 (2009/11/18 11:27), 編輯推噓4(4018)
留言22則, 8人參與, 最新討論串1/1
想寫出計算1~100的總和 int z=100,sum=0; while(z>=0) sum=sum+z; 但是上面這個寫法好像不太對的樣子... 因為還是新手,麻煩各位大大給個指教! 所以我改成 intz=1,sum=100; while(z<=100) sum=sum+z++; 就會變成1~100嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.108.63.75

11/18 11:29, , 1F
sum = sum + z--;
11/18 11:29, 1F

11/18 11:31, , 2F
如果是sum+z-- 是否就是從100遞減到1?
11/18 11:31, 2F

11/18 11:33, , 3F
會減到0,如果你程式其他部份不改的話。
11/18 11:33, 3F

11/18 11:33, , 4F
對...不然就是z=1 while(z<=100)
11/18 11:33, 4F

11/18 11:33, , 5F
然後Z要遞增
11/18 11:33, 5F

11/18 11:36, , 6F
一定要用 while 嗎? 用 for loop 語意清楚
11/18 11:36, 6F

11/18 11:37, , 7F
11/18 11:37, 7F

11/18 11:38, , 8F
你的程式越改越糟糕了
11/18 11:38, 8F

11/18 11:40, , 9F
建議你先去了解你的z是幹啥的 sum又是幹啥的 while又做了
11/18 11:40, 9F

11/18 11:40, , 10F
啥事...
11/18 11:40, 10F

11/18 11:41, , 11F
現在也沒多好,現在是100+1+2+...+100
11/18 11:41, 11F

11/18 11:44, , 12F
是想要讓它可以從1+2+3+到100這樣
11/18 11:44, 12F

11/18 11:53, , 13F
你當作是數學的代數 把數字代進去
11/18 11:53, 13F
好像這樣也能執行 int z=1,sum=0; while(z<=0){ sum=sum+z; z=z-1; }

11/18 11:58, , 14F
sum=sum+z++吧?? 還有, 你確定這樣while真的會執行??
11/18 11:58, 14F
打錯@@ ※ 編輯: loyun1101 來自: 120.108.63.75 (11/18 12:00)

11/18 11:59, , 15F
推lewcloud大說的, 建議您把基本重新看一看再寫code吧.
11/18 11:59, 15F

11/18 12:00, , 16F
把每一行code甚至每一個word都搞清楚, 不要不清不楚的用
11/18 12:00, 16F

11/18 12:00, , 17F
猜的或試誤法的方式來寫code, 這樣幫助是很有限的@_@"
11/18 12:00, 17F
※ 編輯: loyun1101 來自: 120.108.63.75 (11/18 12:01) 嗯,我知道了! 感謝大大們的回答,回去重練>"< ※ 編輯: loyun1101 來自: 120.108.63.75 (11/18 12:03)

11/18 12:23, , 18F
避免寫 sum=sum+z++ 這種難懂的寫法, 盡量用最易懂的方
11/18 12:23, 18F

11/18 12:24, , 19F
法寫, 1 加到 100 這種程度也寫不出簡明的 code 我實在
11/18 12:24, 19F

11/18 12:24, , 20F
很擔心以後你寫複雜一點的東西怎辦...
11/18 12:24, 20F

11/18 13:57, , 21F
置底的"新手十誡", 第九條
11/18 13:57, 21F

11/18 13:59, , 22F
sum=sum+z++; 可讀性是差了點, 倒沒有第九條的問題
11/18 13:59, 22F
文章代碼(AID): #1B0scyh8 (C_and_CPP)