欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c語言輕松實現(xiàn)猜數(shù)字小游戲

 更新時間:2022年04月22日 15:21:44   作者:馬桶上看算法  
猜數(shù)字是興起于英國的益智類小游戲,起源于20世紀中期,一般由兩個人或多人玩,也可以由一個人和電腦玩。游戲規(guī)則為一方出數(shù)字,一方猜,今天我們來用C實現(xiàn)這個游戲案例

一、前言

       在學(xué)習(xí)了循環(huán)、分支、和函數(shù)之后,可以寫一些簡單的小游戲來給自己的編程之路增添一份樂趣。不僅提升了編碼能力,還可以邊學(xué)邊玩,簡直妙哉妙哉!

二、游戲邏輯

1.打印選擇菜單(1.play、0.exit)

2.調(diào)用rand()函數(shù)生成隨機數(shù)

3.設(shè)置隨機數(shù)范圍

4.猜數(shù)字

5.判斷猜的大小 

三、思維導(dǎo)圖  

四、游戲過程  

五、代碼分析

1.生成隨機數(shù)的方法

        僅僅使用rand() 函數(shù)來生成隨機數(shù)是不行的,因為它每玩一次生成的隨機數(shù)都是相同的,即隨機數(shù)不隨機,所以要通過srand()函數(shù),種下一個隨機種子,來產(chǎn)生隨機數(shù)。根據(jù)時間每時每刻都是變化的,可以用time()時間函數(shù)來產(chǎn)生種子。

       這里time_t的類型就是 在C語言中被定義為長整型,而srand()函數(shù)的參數(shù)類型為unsigned int (無符號整形),所以使用時要強制類型轉(zhuǎn)換,而且**time()**函數(shù),不需要設(shè)置參數(shù),故用NULL代替。

2.設(shè)置隨機數(shù)范圍的方法

我們已經(jīng)讓系統(tǒng)隨機生成了一個隨機數(shù),因為系統(tǒng)生成的隨機數(shù)范圍太大,猜起來比較耗時,我們先確定一個隨機數(shù)的范圍,在0–100之間。rand()%100+1,就可以得到0-100之間的隨機數(shù)。rand()%100得到的是1~99之間的隨機數(shù),再加上1就是1~100之間的隨機數(shù)了。

六、完整代碼

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
    printf("**************************\n");
    printf("*******   1.play   *******\n");
    printf("*******   2.exit   *******\n");
    printf("**************************\n");
}
void game()
{
    //猜數(shù)字游戲的實現(xiàn)
    //1.生成隨機數(shù)
    //rand函數(shù)返回了一個0-32767之間的隨機值
    //時間- 時間戳
    int ret = rand() % 100 + 1;
    //%100的余數(shù)是0-99,然后+1,范圍就是1-100
    //printf("%d\n",ret);
    //2.猜數(shù)字
    int guess = 0;
    while (1)
    {
        printf("請猜數(shù)字:");
        scanf("%d", &guess);
        if (guess < ret)
        {
            printf("猜小了\n");
        }
        else if (guess > ret)
        {
            printf("猜大了\n");
        }
        else
        {
            printf("恭喜你,猜對了\n");
            break;
        }
    }
}
int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
        menu();//打印菜單
        printf("請選擇:");
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game();
            break;
        case 0:
            printf("退出游戲\n");
            break;
        default:
            printf("選擇錯誤,重新選擇\n");
            break;
        }
    } while (input);
    return 0;
}

到此這篇關(guān)于c語言輕松實現(xiàn)猜數(shù)字小游戲的文章就介紹到這了,更多相關(guān)c語言猜數(shù)字游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)基于EASYX庫掃描線算法

    C++實現(xiàn)基于EASYX庫掃描線算法

    這篇文章主要為大家詳細介紹了C++實現(xiàn)基于EASYX庫掃描線算法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言求解最長公共子字符串問題及相關(guān)的算法分析

    C語言求解最長公共子字符串問題及相關(guān)的算法分析

    最長公共子字符串問題即是求一個字符串在另一個字符串中出現(xiàn)的連續(xù)最多字符,這里我們來看一下面試中經(jīng)常出現(xiàn)的C語言求解最長公共子字符串問題及相關(guān)的算法分析
    2016-06-06
  • 詳解C++編程中的變量相關(guān)知識

    詳解C++編程中的變量相關(guān)知識

    這篇文章主要介紹了詳解C++編程中的變量相關(guān)知識,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • 純C語言:貪心Prim算法生成樹問題源碼分享

    純C語言:貪心Prim算法生成樹問題源碼分享

    這篇文章主要介紹了貪心Prim算法生成樹問題源碼,有需要的朋友可以參考一下
    2014-01-01
  • c語言:金幣陣列的問題

    c語言:金幣陣列的問題

    本文介紹了關(guān)于c語言:金幣陣列的問題,需要的朋友可以參考一下
    2013-03-03
  • 淺談C++對象組合

    淺談C++對象組合

    本文主要說明對象創(chuàng)建時構(gòu)造函數(shù)的執(zhí)行順序,對象成員的初始化順序;對象銷毀時析構(gòu)函數(shù)的執(zhí)行順序,對象成員的銷毀順序。
    2015-06-06
  • Matlab實現(xiàn)極坐標(biāo)堆疊柱狀圖的繪制

    Matlab實現(xiàn)極坐標(biāo)堆疊柱狀圖的繪制

    極坐標(biāo)堆疊圖也是風(fēng)玫瑰圖的常用形式,MATLAB的bar繪制的條形圖可以繪制成堆疊形式,但是并沒有一個自帶函數(shù)可以繪制極坐標(biāo)堆疊圖。本文將為大家提供Matlab繪制極坐標(biāo)堆疊柱狀圖的示例代碼,需要的可以參考一下
    2022-08-08
  • C++string中的insert()插入函數(shù)詳解

    C++string中的insert()插入函數(shù)詳解

    這篇文章主要介紹了C++string中的insert()插入函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 人臉檢測中AdaBoost算法詳解

    人臉檢測中AdaBoost算法詳解

    這篇文章主要為大家詳細介紹了人臉檢測中AdaBoost算法的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C語言中堆空間的生成與釋放詳解

    C語言中堆空間的生成與釋放詳解

    以下是對C語言中堆空間的生成與釋放進行了詳細的分析介紹,需要的朋友可以過來參考下
    2013-08-08

最新評論