[問題] c++ while指令

看板C_and_CPP作者 (cow)時間15年前 (2009/04/08 19:44), 編輯推噓3(3022)
留言25則, 2人參與, 最新討論串1/2 (看更多)
題目: 不超過10000的最大次方 對於每個小於10000的正整數A 一定有一個正整數N 使得A的N次方小於或等於10000 而A的N+1次方則超過10000 現在要寫一個程式 輸入一個整數A 印出對應的N以及A的N次方的值 答案寫的: int a,b=1,n=0; cout<<"請輸入一個數字"<<endl; cin>>a; while(a*b<=10000) { b=a*b; n++; } cout<<n<<" "<<b<<endl; system("PASUE"); return 0; } 我的疑問: 1.第一行的b=1還有n=0是什麼意思? 我沒打指令說n代表次方的次數 為什麼程式知道那是次方的次數? 2.while條件為什麼是a*b 不是a*a? 3.while那邊的大括號裡面的n++為什麼不能打n+1? 我是c++的初學者 昨天從剛開始一直看到switch 到還看的懂 就今天看到while 我卡住了 感覺差很多 都不知道為什麼要打那些碼 拜託 c++的大大們替我解說一下 謝謝... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.102.87

04/08 19:53, , 1F
1. n是程式設計者設計用來累計次方數的, 不是程式知道,
04/08 19:53, 1F

04/08 19:54, , 2F
是您要去了解設計者寫這個程式的想法, 與他的變數用途.
04/08 19:54, 2F

04/08 19:55, , 3F
2. a用來放原來的值, b放的是連乘後的值, 你要算a自乘
04/08 19:55, 3F

04/08 19:55, , 4F
幾次, 設計者把到目前為止的連乘結果存在b, 所以是a*b
04/08 19:55, 4F

04/08 19:56, , 5F
3. n++代表n=n+1的意思, 只寫n+1在這沒意義語法也不對.
04/08 19:56, 5F

04/08 19:57, , 6F
最後給您一個良心的建議, 學程式語言不是用"看"的, 是
04/08 19:57, 6F

04/08 19:57, , 7F
要一點一點練習"寫"的, 不要覺得書看過好像懂了就看下
04/08 19:57, 7F

04/08 19:58, , 8F
去, 初學的話, 請從HelloWorld就開始寫/compile/run.
04/08 19:58, 8F

04/08 19:59, , 9F
程式裡的語法都認得了, 還不懂為什麼時, 就試著用自己
04/08 19:59, 9F

04/08 19:59, , 10F
的大腦當電腦, 準備紙筆一行一行跟著算, 會比較好懂.
04/08 19:59, 10F

04/08 20:01, , 11F
忘了回1.的第一行, 那是用來給變數初值用的....
04/08 20:01, 11F

04/08 20:01, , 12F
murmur: 小弟差一篇就可以在八卦板推文了, 幹麻不reply
04/08 20:01, 12F

04/08 20:01, , 13F
算了....>_<#
04/08 20:01, 13F

04/08 20:03, , 14F
謝謝妳 程式我有用寫的 看完之後的隨堂練習都是我自己寫
04/08 20:03, 14F

04/08 20:04, , 15F
只是看到while這裡我連一點頭緒都沒有= = 所以才來這問
04/08 20:04, 15F

04/08 20:06, , 16F
ptt我也剛開始用 所以你回的最後2行我不懂什意思抱歉= =
04/08 20:06, 16F

04/08 20:06, , 17F
對不起~~因為您的問#1,#3, 還有"從昨天一直看到switch"
04/08 20:06, 17F

04/08 20:07, , 18F
給小弟這種錯覺, 所以才會最後寫那樣的建議<(_ _)>
04/08 20:07, 18F

04/08 20:08, , 19F
後面那兩行是小弟的閒聊碎碎念啦, 不用理它XD
04/08 20:08, 19F

04/08 20:13, , 20F
不過, 拿紙筆寫/算整個程式的流程, 或者用debug step by
04/08 20:13, 20F

04/08 20:14, , 21F
step(一行一行trace code), 觀看所有變數變化的情形, 也
04/08 20:14, 21F

04/08 20:14, , 22F
仍然是一個土法鍊鋼去了解程式在寫什麼的方式:)
04/08 20:14, 22F

04/08 20:22, , 23F
恩~謝謝妳 下禮拜要期中考= = 現在才開始學 有點混XD
04/08 20:22, 23F

04/08 20:23, , 24F
混到現在每天晚上都在玩c++ = ="
04/08 20:23, 24F

04/08 20:35, , 25F
傳說中~~小考小玩, 大考大玩, 不考照玩....XD
04/08 20:35, 25F
文章代碼(AID): #19t8uUv8 (C_and_CPP)
文章代碼(AID): #19t8uUv8 (C_and_CPP)