頁:
[1]
c++ 猜數字用陣列紀錄猜的數字
<div></div> 想問:1.這是你的全部程式碼嗎?
是的話你不覺得你有少了一個"}"嗎?
2.你while(a!=b)是要用來判斷有沒有猜中?
那你迴圈裡面的else是怎麼回事?
在"a不等於b"的情況下執行迴圈裡面的判斷,而你那個else是在"a等於b"情況才執行
3.退一步來說,假設else會執行,你不覺得你for迴圈裡面的num很奇怪嗎?
(1)number是哪裡來的變數好像沒看到你宣告
(2)當作你number是填" i "的值,但是你" i "的值是 1-11 而你宣告的陣列卻只能存5個數,
這應該會報錯吧
4.你宣告了兩次變數" i "這應該會報錯吧
-------------------------------------------------------------------------------------------
小弟的建議:
*********************設計習慣建議**************************************
1.不要用a,b,c來替變數命名(比較好知道這變數是用來幹嘛的,雖然你有注解)
2.將程式碼的縮排做好(比較好找出錯誤點,EX:你少了一個 "}")
3.感覺你用了三層的迴圈...(盡量不要用到這麼多層)
***************猜題目意思**********************************************
隨機產生一個數字讓使用者猜,猜錯會提示使用者是答案是大於還是小於使用者猜的數,
然後分別記錄使用者猜的前五個數字,並計算使用者總共猜了幾次。
****************程式碼建議*********************************************
1.產生亂數(寫在迴圈外面,寫在裏面每一次不就都會重新再產生一次答案?)
2.寫一個無窮迴圈,直到猜對才跳出迴圈
裡面寫(1)讓使用者輸入要猜的數字
(2)累加使用者猜的次數
(3)將數字存到陣列裡,判斷累家次數是否超過五,超過就不做
(2)判斷是否大於、小於等於答案並印出相關的文字<EX:a>b印出比b數大
3.印出陣列的內容
************以上為小弟的建議若是板上的大大有其他的見解可以互相討論**************...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div> 1.抱歉我沒注意到
2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!
3.這裡是我想問的陣列問題 number打錯是要打b
4.抱歉 第一個for忘了刪掉><
要怎麼把數字存到陣列裡??
謝謝大哥的建議~~ 2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!
小弟認為不需要用while(a!=b),只要用 while(1) 加 if-else if-else判斷式就好,不需要增加程式碼的複雜度
**********************************************************************
1.小弟把我的程式碼 if-else if-else 判斷式摺疊起來了,以大大的能力應該可以還原
2.如果執行結果跟大大想的不一樣,再把結果描述的清楚一點,好讓小弟能修正 cgaotd 發表於 2016-12-11 12:30 AM static/image/common/back.gif
2.while是a不等於b時一直執行 最後else是a=b時 印出 正確!!
小弟認為不需要用while(a!=b),只要用 while(1 ...
不好意思 我照你的方式寫了一遍 我有加<time.h> 有寫了再玩一次的程式碼 再玩一次時 紀錄歸零的程式碼是InputNum = 0 是不是我寫錯了
補充內容 (2016-12-11 12:53 PM):
我把 srand(time(NULL));
ans =1+rand()%5
放在whlie外面這樣對嗎
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div> 可以先用srand(NULL)比較好
頁:
[1]