猜數字(用c寫的)

Home Home
引用 | 編輯 csr
2011-02-11 22:14
樓主
推文 x0
看了副版主寫了那麼好的c++猜數字
小弟也用c試寫一小段
請各位大大指教


#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int i;
int co ..

訪客只能看到部份內容,免費 加入會員



獻花 x1
引用 | 編輯 星辰雪
2011-02-11 23:12
1樓
  
count = 1
意思是 第一次就猜對
因為猜第一次
所以才等於1
是這意思嗎

我比較在意的是
for <<裡面可以放空白 不設定
大小嗎

請問一下 這樣寫
有什麼特別用意

獻花 x0
引用 | 編輯 csr
2011-02-12 12:49
2樓
  
下面是引用 星辰雪 於 2011-02-11 23:12 發表的 : 到引言文
count = 1
意思是 第一次就猜對
因為猜第一次
所以才等於1
是這意思嗎

我比較在意的是
for <<裡面可以放空白 不設定
大小嗎

請問一下 這樣寫
有什麼特別用意

這是小弟課本的習題
沒什麼用意
只是想學好c語言
所以就看書揣摩
花好久去編譯妥當
好不容易才如願
大大所提問題
大大都已自回答了
所以小弟也就不回覆
謝謝

獻花 x0
引用 | 編輯 totsi
2011-02-14 09:01
3樓
  
看到猜數字,就想到以前上課偷玩的nAnB..XD

或許您可以玩玩看nAnB的猜數字..

random seed的部份要注意,有聽前輩講,下的好,亂度會比較漂亮

下不好,每次結果都一樣XDD

這邊我不熟,所以沒辦法給建議嚕XDDD

開頭可以讓用的人自行設定所要猜的數字位數,可玩性會更高喔 表情

獻花 x0
引用 | 編輯 csr
2011-02-14 15:52
4樓
  
下面是引用 totsi 於 2011-02-14 09:01 發表的 : 到引言文
看到猜數字,就想到以前上課偷玩的nAnB..XD

或許您可以玩玩看nAnB的猜數字..

random seed的部份要注意,有聽前輩講,下的好,亂度會比較漂亮

下不好,每次結果都一樣XDD

這邊我不熟,所以沒辦法給建議嚕XDDD

開頭可以讓用的人自行設定所要猜的數字位數,可玩性會更高喔 表情
大大您好
小弟功力還不好
所以只能寫到此
其實不知是怎麼原因
很多習題看似簡單
但是小弟就是想不出要怎麼寫
說真的
我還真覺得c,c++很難也
謝謝

獻花 x0
引用 | 編輯 totsi
2011-02-15 08:22
5樓
  
個人認為,功力好不好,是用的方法漂不漂亮,安不安全的問題。

剩下的是資料搜尋跟篩選的功力了XDD

要做出來,土法煉鋼都能達成。

程式是死的,所以您要跟他說您要做什麼。程式只是幫您達成您下的命令而已。

因此,寫之前要先定義一些東西:
1.目的:這程式要用來作什麼。(計算?顯示?)
2.流程:為了達成這目的要做哪些工作。(排序?比大小?)
3.工具:為了做這些工作需要哪些函式。(WinAPI?C/C++內定函式?)
4.詳細:把每個要做的動作都詳細列出。(coding)

您可事先試著朝這四個步驟去做,多玩幾次,或許就有體悟了吧^^m

希望對您有幫助~
表情

獻花 x3
引用 | 編輯 wataru
2011-02-15 08:33
6樓
  
下面是引用 星辰雪 於 2011-02-11 23:12 發表的 : 到引言文
count = 1
意思是 第一次就猜對
因為猜第一次
所以才等於1
是這意思嗎

我比較在意的是
for <<裡面可以放空白 不設定
大小嗎

請問一下 這樣寫
有什麼特別用意

那種用法跟無窮迴圈的意思一樣,
此題得作法,只有在輸入為6才會使break的條件成立,離開迴圈。

想要變化的話,可以在程式啟動的時候,
利用亂數產生一個數字,該數字放入變數(當成條件)。
當使用者輸入的數字等於該變數,條件成立,離開無窮迴圈。
這樣可以讓你每次玩此遊戲,答案都不一樣。

獻花 x1
引用 | 編輯 csr
2011-02-15 16:57
7樓
  
下面是引用 totsi 於 2011-02-15 08:22 發表的 : 到引言文
個人認為,功力好不好,是用的方法漂不漂亮,安不安全的問題。

剩下的是資料搜尋跟篩選的功力了XDD

要做出來,土法煉鋼都能達成。

程式是死的,所以您要跟他說您要做什麼。程式只是幫您達成您下的命令而已。

因此,寫之前要先定義一些東西:
1.目的:這程式要用來作什麼。(計算?顯示?)
2.流程:為了達成這目的要做哪些工作。(排序?比大小?)
3.工具:為了做這些工作需要哪些函式。(WinAPI?C/C++內定函式?)
4.詳細:把每個要做的動作都詳細列出。(coding)

您可事先試著朝這四個步驟去做,多玩幾次,或許就有體悟了吧^^m

希望對您有幫助~
表情


還真不好學
課本後面習題
我就一個頭兩個大
想放棄又不干心
但是就是不知卡在那裡
現今大大給小弟四步驟
再試看看
謝謝

獻花 x0
引用 | 編輯 csr
2011-02-15 16:59
8樓
  
下面是引用 wataru 於 2011-02-15 08:33 發表的 : 到引言文


那種用法跟無窮迴圈的意思一樣,
此題得作法,只有在輸入為6才會使break的條件成立,離開迴圈。

想要變化的話,可以在程式啟動的時候,
利用亂數產生一個數字,該數字放入變數(當成條件)。
當使用者輸入的數字等於該變數,條件成立,離開無窮迴圈。
這樣可以讓你每次玩此遊戲,答案都不一樣。
我照大大說法
試著看看能不能作出來
謝謝

獻花 x0
引用 | 編輯 XDglory
2011-02-23 12:24
9樓
  
亂數的話應該是要加入 time.h

記得隨機出來的數字要給他mod一下

不然你大概很難猜出來吧XD

獻花 x0
引用 | 編輯 csr
2011-03-02 21:19
10樓
  
下面是引用 XDglory 於 2011-02-23 12:24 發表的 : 到引言文
亂數的話應該是要加入 time.h

記得隨機出來的數字要給他mod一下

不然你大概很難猜出來吧XD

想了老半天
還是寫不出來
不知大大可否詳細教導一下
謝謝

獻花 x0
引用 | 編輯 csr
2011-04-04 20:46
11樓
  
下面是引用 csr 於 2011-03-02 21:19 發表的 : 到引言文


想了老半天
還是寫不出來
不知大大可否詳細教導一下
謝謝
終於這亂數也可以解決
程式如下
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
  int i,ans;
  int count=1;
  srand((unsigned)time(NULL));
  for( ; ; )
  {
    printf("請輸入欲猜數字1-10:");
    scanf("%d",&i);
    ans=rand()%10+1;
    if(i==ans)
    break;
    count++;
  }
  if(count==1)
  {
  printf("好棒一次就猜對\n");
  }
  else if(count>1)
  {
  printf("花%d次才猜對\n",count);
  }
  system("pause");
  return 0;
}

獻花 x0