C語言入門到進(jìn)階(demo:猜數(shù)字游戲)----Day6 29th/Nov./2019

要實(shí)現(xiàn)的目標(biāo):

猜數(shù)字游戲:
游戲開始 產(chǎn)生四個(gè)1到9之間的不重復(fù)的役电,且按從小到大排序隨機(jī)數(shù)
e.g2 3 4 8
玩家隨機(jī)輸入4個(gè)數(shù)字
如果猜測的數(shù)字正確且位置也正確 輸出A
如果猜測的數(shù)字正確但位置不正確 輸出B
請輸入猜測數(shù)字:e.g?2 5 8 9 ?1A1B(一個(gè)A 一個(gè)B)
e.g? 1 2 3 4?0A3B(三個(gè)B 零個(gè)A)
最多的猜測次數(shù):10次


主要技術(shù)

數(shù)組?產(chǎn)生1~9的隨機(jī)數(shù)?for循環(huán)控制不重復(fù)?排序?

數(shù)組:存儲(chǔ)四個(gè)類型一樣的數(shù)字
產(chǎn)生1~9的不同隨機(jī)數(shù):rand()函數(shù)+利用時(shí)間不同衡查,播種,每次產(chǎn)生不同的隨機(jī)數(shù)
for循環(huán)控制四個(gè)隨機(jī)數(shù)均不相同:第一個(gè)隨機(jī)數(shù)直接保存埠啃,不可能會(huì)有重復(fù)桅狠;從第二個(gè)開始,要與他前面的每一個(gè)隨機(jī)數(shù)進(jìn)行比較陶冷,若相同,重新產(chǎn)生毯辅,若不同埂伦,則可以保存
排序:利用冒泡排序(雙重for循環(huán),數(shù)值大的元素沉底)


代碼的實(shí)現(xiàn)

產(chǎn)生四個(gè)1到9之間每次都不同的的不重復(fù)的隨機(jī)數(shù)

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

int main(int argc, const char * argv[]) {
    int org[4] = {};//保存隨機(jī)數(shù)
    int input[4] = {};//保存用戶輸入
    int aCount = 0;
    int bCount = 0;
    
    //播種子
    srand(time(NULL));
    //產(chǎn)生隨機(jī)數(shù)
    for(int i = 0; i < 4; i++){
        int temp = rand()%9 + 1;
        
        if (i == 0) {
            //第一次 直接保存
            org[i] = temp;
        } else{
            //判斷是否重復(fù)
            //i正好和當(dāng)前已有個(gè)數(shù)對應(yīng)
            int j = 0;
            for(; j < i; j++){
                if (temp == org[j]) {
                    //重復(fù)了
                    break;
                }
            }
            
            //判斷for循環(huán)怎么出來的額
            if (i == j) {
                //不重復(fù) 保存
                org[i] = temp;
            }else{
                //重復(fù)了
                i--;
            }
        }
    }

對系統(tǒng)隨機(jī)產(chǎn)生的4個(gè)隨機(jī)數(shù)進(jìn)行排序

//冒泡排序
    for (int i = 0; i < 4-1; i++){
        for(int j = 0; j < 4 - i-1; j++){
            if (org[j] > org[j+1]) {
                int temp = org[j];
                org[j] = org[j+1];
                org[j+1] = temp;
            }
        }
    }

開始游戲思恐,提示用戶輸入按大小排序的不重復(fù)的4個(gè)數(shù)字沾谜,比較這4個(gè)數(shù)字的數(shù)值與系統(tǒng)隨機(jī)產(chǎn)生的是否一致(利用for循環(huán)進(jìn)行比較),再比較這4個(gè)數(shù)字的位置與系統(tǒng)隨機(jī)產(chǎn)生的是否是一致胀莹,若某一個(gè)元素位置和數(shù)值均正確基跑,則輸出1A,若某一個(gè)元素只有數(shù)值正確描焰,則輸出1B

//開始游戲
    while(1){
        //提示輸入
        printf("游戲規(guī)則:系統(tǒng)隨機(jī)生成四個(gè)按從小到大的順序輸出的不重復(fù)的數(shù)字媳否,請用戶依次輸入四個(gè)數(shù),若數(shù)字位置和數(shù)值均正確,輸出A篱竭;若只有數(shù)字正確力图,輸出B。如1 2 3 4\n"); 
        printf("請輸入猜測的數(shù)字:");
        for (int i = 0; i < 4; i++) {
            scanf("%d", &input[i]);
        }
        
        //開始
        //1 5 8 9
        //1 2 3 5
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                if (org[i] == input[j]) {
                    //數(shù)字存在 判斷位置
                    if (i == j){
                        aCount++;
                    }else{
                        bCount++;
                    }
                }
            }
        }
//提示用戶結(jié)果
        printf("%dA%dB\n", aCount, bCount);
        
        //判斷是否正確
        if( aCount == 4){
            printf("全對!!!!\n");
            break;
        }else{
            aCount = 0;
            bCount = 0;
        }
    }
運(yùn)行結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末掺逼,一起剝皮案震驚了整個(gè)濱河市吃媒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌吕喘,老刑警劉巖晓折,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異兽泄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)漾月,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門病梢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人梁肿,你說我怎么就攤上這事蜓陌。” “怎么了吩蔑?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵钮热,是天一觀的道長。 經(jīng)常有香客問我烛芬,道長隧期,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任赘娄,我火速辦了婚禮仆潮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遣臼。我一直安慰自己性置,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布揍堰。 她就那樣靜靜地躺著鹏浅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屏歹。 梳的紋絲不亂的頭發(fā)上隐砸,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機(jī)與錄音西采,去河邊找鬼凰萨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的胖眷。 我是一名探鬼主播武通,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼珊搀!你這毒婦竟也來了冶忱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤境析,失蹤者是張志新(化名)和其女友劉穎囚枪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體劳淆,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡链沼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沛鸵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片括勺。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曲掰,靈堂內(nèi)的尸體忽然破棺而出疾捍,到底是詐尸還是另有隱情,我是刑警寧澤栏妖,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布乱豆,位于F島的核電站,受9級特大地震影響吊趾,放射性物質(zhì)發(fā)生泄漏宛裕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一趾徽、第九天 我趴在偏房一處隱蔽的房頂上張望续滋。 院中可真熱鬧,春花似錦孵奶、人聲如沸疲酌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗恳。三九已至,卻和暖如春载绿,著一層夾襖步出監(jiān)牢的瞬間粥诫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工崭庸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怀浆,地道東北人谊囚。 一個(gè)月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像执赡,于是被迫代替她去往敵國和親镰踏。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容