廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2961 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
koinouta 手機
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x6 鮮花 x140
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 猜數字(亂數問題)
請問一下
我程式寫出來了
可是為何答案永遠都是42 ??
哪裡寫錯了??

題目是
從1~1000中隨機取一個
讓使用者猜...還要顯示總共猜了幾次...

=====================================
#include <stdio.h>
#include <stdlib.h>

int main()
{
..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:台灣中華電信 | Posted:2005-10-20 01:37 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

while (a=b);
這邊就不對啦....
你假如第一次猜錯的話...
c的答案是2吧...
42??
類似題=>http://bbs.mychat.to/read.php?tid=248464
自己改吧...


[ 此文章被唐老鴨在2005-10-20 03:56重新編輯 ]


沒東西可以抓
獻花 x0 回到頂端 [1 樓] From:美國 | Posted:2005-10-20 03:49 |
koinouta 手機
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x6 鮮花 x140
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

while (a=b);
請問要改成什麼??

我改成
while (a==b);
會有問題....程式執行不正常..

我後來有寫出來了...
====================
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
     int a,b,c=0;
     printf("Please Guess The Number :\n");
     srand(time(NULL));
     b=(rand()%999)+1;      

     do      {
     scanf("%d",&a);
           if (a>b)      {
                 printf("你猜的數字比答案大喔!!!\n");
                 c++;
           }
           if (a<b)      {
                 printf("你猜的數字比答案小喔!!!\n");
                 c++;
           }
           if (a==b){
                 break;
           }
     }      while (a=b);
     
     c++;
     printf("恭喜您!!!猜中了!!!\n您總共猜了%d!!!\n",c);

     return 0;
}
===============

可是我還是不知道.......為何一開始寫的那個版本....答案永遠都會是42...?


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2005-10-20 23:18 |
唐老鴨
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x230
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

第一...
你沒有用srand(time(NULL));
所以程式執行時....
rand()取出來的永遠會一樣....
原來你說的42是指b值....
我還以為你在說c值....

第二....
我之前把你的while (a=b)看成while (a==b)了....
因為不會有人這樣寫 表情 .....
執行while (a=b)是無窮迴圈....
跟寫成while(1)是一樣的....
雖然你有用break來跳出迴圈....
但是正常的寫法應該是while (a!=b)吧....
利用迴圈的判斷來跳出....
當然你的程式還要稍作修改才行....
只是你要那樣寫也是可以啦 表情 ....


沒東西可以抓
獻花 x0 回到頂端 [3 樓] From:美國 | Posted:2005-10-21 00:06 |
koinouta 手機
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x6 鮮花 x140
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

原來如此~謝謝大大的詳細說明!!


獻花 x0 回到頂端 [4 樓] From:台灣中華電信 | Posted:2005-10-21 16:58 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.026970 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言