系統公告
個人檔案
個人圖檔
ID:nckues102
暱稱:程式設計課程助教
地區:非洲

贊助商連結
文章分類
nckues102的最新回應
輕旅行
人氣指數
當日人次:
累積人次:
行事曆
Oct 2014
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
搜尋欄位
搜尋:
每月文章彙集
贊助商連結
RSS 訂閱
RSS2
ATOM
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam天空部落 本身立場。
POWERED BY
POWERED BY
會員登入免費註冊
March 24, 2010

#include<iostream>
#include<stdlib.h> //rand and srand的標頭檔
#include<time.h>
using namespace std;

 

int main()
{
    int X[4],Y[4],num[10];  
    int i,j,temp,number,counter=0;
    int A=0,B=0;
   
    srand(time(NULL));  //起始的seed value
    for(i=0;i<10;i++)   //先設定好數字陣列0~9 ,預備挑出不重複的數字
    {
       num[i]=1; //1代表這個數字還沒用過
    }
         for(i=0;i<4;i++)  //開始產生四個亂數,不重複
          {
                    temp=rand()%10;
                    if(num[temp]==1)//如果此數字尚未被選用就是1
                    {
                          X[i]=temp;  //把此數字搬去X陣列放
                          num[temp]=0; //然後把他設定成0,代表已經被選用了,下次不可以用。
                    }       
                    else {
                         i--;  //如果該數字已經被選用,就把i倒退1,回去重選
                       } 
          }
   
  /*  for(i=0;i<4;i++)
    {
       cout<<X[i];
    }
   
    cout<<endl;
*/
            cout<<"============== 遊戲開始 ====================================== "<<endl;
            cout<<"電腦會隨機產生一個不重複的四位數號碼,讓你們猜,"<<endl;
            cout<<"你輸入數字後,電腦會比對數字,並輸出結果,"<<endl;
            cout<<"結果輸出的處理方式為?A?B,A代表位置和數值都相同,B表示只有數值相同。"<<endl;
            cout<<"========================================================================"<<endl;
    while(1)
    {
          
            cout << "" <<endl;
            cout<<"請輸入四位數字: "<<endl;
            cin>>number;
            Y[0] = number/1000;
            Y[1] = (number-Y[0]*1000)/100;
            Y[2] = (number-Y[0]*1000-Y[1]*100)/10;
            Y[3] = number-Y[0]*1000-Y[1]*100-Y[2]*10;
                      
           
            for(i=0;i<4;i++)
            {    for(j=0;j<4;j++)
                 {
                       if(X[i] == Y[j])
                       {
                               if(i==j)
                                   A++;
                               else
                                   B++;
                       }
                 }
            }
           
            counter++;
           
            if(A==4)
            {
                 cout<<"\n 恭喜你答對啦!!!\n"
                     <<" 你總共猜了"<<counter<<"次\n\n";
                 break;
            }
            else
            {
                     cout<<A<<"A"<<B<<"B , 請繼續加油!!\n\n";
                     A=0;B=0;
            } 
    }
   
   
    system("pause");
    return 0;
     
}
 





誰推薦這篇文章
引用 (你可以針對此文寫一篇屬於自己的blog/想法,並給作者一個通告)
引用
留言 (0筆)
發表你的留言 (字數限制 最多 2000 個中文字)
私密留言:
Name:




內容:
檢視行動版網頁  |  檢視正常版網頁