欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

【C語言】-猜數游戲-簡單版-創(chuàng)新互聯

    • 🍑游戲內容概述

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

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

(1)簡單主界面

玩家需通過輸入1或0來選擇是否進行游戲,通過簡單的輸出函數printf即可實現主界面的打印

代碼如下:

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

(2)游戲實現

游戲的實現可分為兩部分,隨機數的生成與猜數環(huán)節(jié)

  • 隨機數的生成:

這里需要借助三個函數來實現,分別是:

rand()——生成的隨機數,頭文件為

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

time()——時間戳函數,需要一個不斷變化的數來作為生成隨機數的來源,頭文件為

代碼如下:

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

其中函數用法簡單解釋:

對srand():

由其定義可看出其返回值為空,其參數為unsigne int型(seed可以理解為隨機數的來源),故在調用該函數時需要給它傳一個unsigne int型的值

對time():

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

故當我們將其作為srand函數的參數時需對其進行強制類型轉化為unsigned int型

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

對rand():

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

(PS:以上關于函數的聲明、定義及使用方法等均來自MSDN)

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

循環(huán)輸入猜的數,和隨機數進行對比,直至猜中跳出循環(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;
        }
    }
  • 整合起來放到一個game()函數中:

代碼如下:

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

    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)邏輯連接

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

代碼如下:

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選擇是否進行游戲
//2.    生成隨機數
//3.    每次猜數后給予相應反饋——猜大、猜小、猜中

//打印菜單
void menu()
{
    printf("************\n");
    printf("*  1.Play  *\n");
    printf("*  0.Exit  *\n");
    printf("************\n");
    printf("intput to choose:\n");
}
//游戲實現
void game()
{
    srand((unsigned int)time(NULL));
    int random_num = rand() % 100 + 1;
    //隨機生成1-100之間的數

    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;
}

運行結果:

    • 🥦趣味拓展

在上述的基礎上還可以創(chuàng)建一個變量來限定猜的次數,若在指定的次數內沒猜對則可執(zhí)行一些“懲罰”,比如關機什么的😂,大家還有什么好玩的建議可以留個評論呀~😁

看完覺得有覺得幫助的話不妨點贊收藏鼓勵一下,有疑問或看不懂的地方或有可優(yōu)化的部分還懇請朋友們留個評論,多多指點,謝謝朋友們!🌹🌹🌹

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

分享名稱:【C語言】-猜數游戲-簡單版-創(chuàng)新互聯
文章源于:http://www.chinadenli.net/article32/dosesc.html

成都網站建設公司_創(chuàng)新互聯,為您提供微信公眾號微信小程序品牌網站建設做網站服務器托管網站改版

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

成都定制網站網頁設計