真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【C語(yǔ)言】-猜數(shù)游戲-簡(jiǎn)單版-創(chuàng)新互聯(lián)

    • 🍑游戲內(nèi)容概述

玩家需要在1-100之間猜一個(gè)數(shù),每猜一次程序就會(huì)提示一次是猜大了或猜小了,直至猜中為止

成都創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站、網(wǎng)站重做改版、額爾古納網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、成都商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為額爾古納等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
    • 🍎各板塊描述

(1)簡(jiǎn)單主界面

玩家需通過(guò)輸入1或0來(lái)選擇是否進(jìn)行游戲,通過(guò)簡(jiǎn)單的輸出函數(shù)printf即可實(shí)現(xiàn)主界面的打印

代碼如下:

void menu()
{
    printf("************\n");
    printf("*  1.Play  *\n");
    printf("*  0.Exit  *\n");
    printf("************\n");
    printf("intput to choose:\n");
}

(2)游戲?qū)崿F(xiàn)

游戲的實(shí)現(xiàn)可分為兩部分,隨機(jī)數(shù)的生成與猜數(shù)環(huán)節(jié)

  • 隨機(jī)數(shù)的生成:

這里需要借助三個(gè)函數(shù)來(lái)實(shí)現(xiàn),分別是:

rand()——生成的隨機(jī)數(shù),頭文件為

srand()——隨機(jī)數(shù)的生成器,需和rand()函數(shù)配套使用,頭文件為

time()——時(shí)間戳函數(shù),需要一個(gè)不斷變化的數(shù)來(lái)作為生成隨機(jī)數(shù)的來(lái)源,頭文件為

代碼如下:

srand((unsigned int)time(NULL));
    int random_num = rand() % 100 + 1;

其中函數(shù)用法簡(jiǎn)單解釋:

對(duì)srand():

由其定義可看出其返回值為空,其參數(shù)為unsigne int型(seed可以理解為隨機(jī)數(shù)的來(lái)源),故在調(diào)用該函數(shù)時(shí)需要給它傳一個(gè)unsigne int型的值

對(duì)time():

首先,其中的返回與參數(shù)類型time_t通過(guò)編譯器(VS2022)的轉(zhuǎn)到定義查看可知其本質(zhì)上是int型:

故當(dāng)我們將其作為srand函數(shù)的參數(shù)時(shí)需對(duì)其進(jìn)行強(qiáng)制類型轉(zhuǎn)化為unsigned int型

其次,time函數(shù)的參數(shù)為指針變量,但其實(shí)我們不需要傳具體的參數(shù),故直接傳一個(gè)空指針NULL

對(duì)rand():

可以看出,我們需先在rand()之前使用srand()來(lái)生成隨機(jī)數(shù),隨機(jī)數(shù)生成完畢后rand()返回的就是生成的隨機(jī)數(shù),故可直接用它進(jìn)行賦值,整合起來(lái)也就有了上面那兩行代碼

(PS:以上關(guān)于函數(shù)的聲明、定義及使用方法等均來(lái)自MSDN)

  • 猜數(shù)環(huán)節(jié):

循環(huán)輸入猜的數(shù),和隨機(jī)數(shù)進(jìn)行對(duì)比,直至猜中跳出循環(huán)

代碼如下:

int guess_num = 0;
    while (1)
    {
        scanf("%d", &guess_num);
        if (guess_num< random_num)
            printf("Bigger\n");
        else if (guess_num >random_num)
            printf("Smaller\n");
        else if (guess_num == random_num)
        {
            printf("Bingo!\n");
            break;
        }
    }
  • 整合起來(lái)放到一個(gè)game()函數(shù)中:

代碼如下:

void game()
{
    srand((unsigned int)time(NULL));
    int random_num = rand() % 100 + 1;
    //隨機(jī)生成1-100之間的數(shù)

    printf("Start Guessing!\n");
    int guess_num = 0;
    while (1)
    {
        scanf("%d", &guess_num);
        if (guess_num< random_num)
            printf("Bigger\n");
        else if (guess_num >random_num)
            printf("Smaller\n");
        else if (guess_num == random_num)
        {
            printf("Bingo!\n");
            break;
        }
    }
}

(3)邏輯連接

在前兩步的基礎(chǔ)上進(jìn)行主函數(shù)的編寫:我們需要先打印一次菜單,隨后進(jìn)行選擇是否進(jìn)行游戲,故選擇采用do while的循環(huán)語(yǔ)句。在循環(huán)中,若輸入1則執(zhí)行(2)中實(shí)現(xiàn)的game()函數(shù);若輸入0則退出循環(huán),結(jié)束游戲(程序);若輸入了其他數(shù),則提示輸入非法并重新輸入

代碼如下:

int input = 0;
    do
    {
        menu();
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game();
        case 0:
            break;
        default:
            printf("Input error! Please input again\n");
        }
    } while (input);
    • 🍅完整代碼

完整的代碼如下:

#include#include#include//功能描述:
//1.    輸入1和0選擇是否進(jìn)行游戲
//2.    生成隨機(jī)數(shù)
//3.    每次猜數(shù)后給予相應(yīng)反饋——猜大、猜小、猜中

//打印菜單
void menu()
{
    printf("************\n");
    printf("*  1.Play  *\n");
    printf("*  0.Exit  *\n");
    printf("************\n");
    printf("intput to choose:\n");
}
//游戲?qū)崿F(xiàn)
void game()
{
    srand((unsigned int)time(NULL));
    int random_num = rand() % 100 + 1;
    //隨機(jī)生成1-100之間的數(shù)

    printf("Start Guessing!\n");
    int guess_num = 0;
    while (1)
    {
        scanf("%d", &guess_num);
        if (guess_num< random_num)
            printf("Bigger\n");
        else if (guess_num >random_num)
            printf("Smaller\n");
        else if (guess_num == random_num)
        {
            printf("Bingo!\n");
            break;
        }
    }
}
int main()
{
    int input = 0;
    do
    {
        menu();
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game();
        case 0:
            break;
        default:
            printf("Input error! Please input again\n");
        }
    } while (input);
    
    return 0;
}

運(yùn)行結(jié)果:

    • 🥦趣味拓展

在上述的基礎(chǔ)上還可以創(chuàng)建一個(gè)變量來(lái)限定猜的次數(shù),若在指定的次數(shù)內(nèi)沒(méi)猜對(duì)則可執(zhí)行一些“懲罰”,比如關(guān)機(jī)什么的😂,大家還有什么好玩的建議可以留個(gè)評(píng)論呀~😁

看完覺(jué)得有覺(jué)得幫助的話不妨點(diǎn)贊收藏鼓勵(lì)一下,有疑問(wèn)或看不懂的地方或有可優(yōu)化的部分還懇請(qǐng)朋友們留個(gè)評(píng)論,多多指點(diǎn),謝謝朋友們!🌹🌹🌹

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


網(wǎng)站題目:【C語(yǔ)言】-猜數(shù)游戲-簡(jiǎn)單版-創(chuàng)新互聯(lián)
分享鏈接:http://weahome.cn/article/dosesc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部