最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、前言

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

二、游戲邏輯

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

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

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

4.猜數(shù)字

5.判斷猜的大小 

三、思維導(dǎo)圖  

四、游戲過程  

五、代碼分析

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

        僅僅使用rand() 函數(shù)來生成隨機(jī)數(shù)是不行的,因?yàn)樗客嬉淮紊傻碾S機(jī)數(shù)都是相同的,即隨機(jī)數(shù)不隨機(jī),所以要通過srand()函數(shù),種下一個(gè)隨機(jī)種子,來產(chǎn)生隨機(jī)數(shù)。根據(jù)時(shí)間每時(shí)每刻都是變化的,可以用time()時(shí)間函數(shù)來產(chǎn)生種子。

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

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

我們已經(jīng)讓系統(tǒng)隨機(jī)生成了一個(gè)隨機(jī)數(shù),因?yàn)橄到y(tǒng)生成的隨機(jī)數(shù)范圍太大,猜起來比較耗時(shí),我們先確定一個(gè)隨機(jī)數(shù)的范圍,在0–100之間。rand()%100+1,就可以得到0-100之間的隨機(jī)數(shù)。rand()%100得到的是1~99之間的隨機(jī)數(shù),再加上1就是1~100之間的隨機(jī)數(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ù)字游戲的實(shí)現(xiàn)
    //1.生成隨機(jī)數(shù)
    //rand函數(shù)返回了一個(gè)0-32767之間的隨機(jī)值
    //時(shí)間- 時(shí)間戳
    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語言輕松實(shí)現(xiàn)猜數(shù)字小游戲的文章就介紹到這了,更多相關(guān)c語言猜數(shù)字游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言二分查找算法及實(shí)現(xiàn)代碼

    C語言二分查找算法及實(shí)現(xiàn)代碼

    本文主要介紹C語言的二分查找算法,這里給大家詳細(xì)介紹了什么是二分查找,并提供代碼實(shí)例,需要的小伙伴可以參考下
    2016-07-07
  • C語言代碼鏈表實(shí)現(xiàn)貪吃蛇游戲

    C語言代碼鏈表實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了C語言鏈表實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-01-01
  • C++11返回類型后置語法的使用示例

    C++11返回類型后置語法的使用示例

    本篇文章主要介紹了C++11返回類型后置語法的使用示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • C++?Boost?Lambda表達(dá)式詳解

    C++?Boost?Lambda表達(dá)式詳解

    Lambda?表達(dá)式(lambda?expression)是一個(gè)匿名函數(shù),Lambda表達(dá)式基于數(shù)學(xué)中的λ演算得名。本文就來為大家詳細(xì)講講C++中Lambda表達(dá)式的使用,需要的可以參考一下
    2022-11-11
  • C語言16進(jìn)制與ASCII字符相互轉(zhuǎn)換

    C語言16進(jìn)制與ASCII字符相互轉(zhuǎn)換

    大家好,本篇文章主要講的是C語言16進(jìn)制與ASCII字符相互轉(zhuǎn)換,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • 使用C語言提取子字符串及判斷對稱子字符串最大長度

    使用C語言提取子字符串及判斷對稱子字符串最大長度

    這篇文章主要介紹了使用C語言提取子字符串及判斷對稱子字符串最大長度,文后附送了一道ACM競賽題目,需要的朋友可以參考下
    2015-08-08
  • C++變量引用的概念介紹

    C++變量引用的概念介紹

    這篇文章主要介紹了C++變量引用的概念介紹,簡單提到了與指針概念的不同,通過代碼場景分析給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • OpenGL實(shí)現(xiàn)不規(guī)則區(qū)域填充算法

    OpenGL實(shí)現(xiàn)不規(guī)則區(qū)域填充算法

    這篇文章主要為大家詳細(xì)介紹了OpenGL實(shí)現(xiàn)不規(guī)則區(qū)域填充算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì)

    C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)銷售管理系統(tǒng)設(shè)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言循環(huán)隊(duì)列與用隊(duì)列實(shí)現(xiàn)棧問題解析

    C語言循環(huán)隊(duì)列與用隊(duì)列實(shí)現(xiàn)棧問題解析

    循環(huán)隊(duì)列又叫環(huán)形隊(duì)列,是一種特殊的隊(duì)列。循環(huán)隊(duì)列解決了隊(duì)列出隊(duì)時(shí)需要將所有數(shù)據(jù)前移一位的問題,本篇帶你一起看看循環(huán)隊(duì)列的問題和怎樣用隊(duì)列實(shí)現(xiàn)棧
    2022-04-04

最新評論

邳州市| 湘潭县| 辽宁省| 寻乌县| 湖口县| 杭锦后旗| 怀柔区| 临湘市| 长海县| 柳江县| 博客| 济阳县| 高邑县| 上杭县| 砚山县| 陇南市| 锡林浩特市| 麻阳| 旌德县| 旺苍县| 黎平县| 阿勒泰市| 祁门县| 资溪县| 定州市| 前郭尔| 乌兰察布市| 富宁县| 巫山县| 金坛市| 彭山县| 普陀区| 曲麻莱县| 芮城县| 阿瓦提县| 华池县| 安仁县| 新源县| 雅江县| 沙湾县| 临海市|